我正在尝试调试三星Captivate(Galaxy S)上与ListView相关的一些代码.我在我的代码中的某处放置了断点,当它停止时,我会在堆栈上返回几帧到ListView源.
现在,我可以预期会有一些不匹配,因为我的手机可能与我在IDE中使用的源代码略有不同的Android类版本.但是,我得到了超过300行的差异.我没有在模拟器上看到这种差异.
更重要的是,堆栈跟踪显示方法performItemClick()的ListView行号3688,而ListView源只有3644行,这个方法出现在3395行.我查看了不同版本的Android代码,没有一个更接近performItemClick()到3688行.
我能想到的唯一解释是三星改变了Android代码,但我不明白为什么他们会做这样的改变.
还有其他原因让我失踪吗?有没有办法强制调试器自动调整行,因为目前我无法单步执行此代码?
任何人都可以帮我解决我的问题.我有一个TabActivity每个标签触摸打开一个新的活动,这个扩展ListActivity这时我得到我希望通过使用OnItemClickListener可点击的所需项目的列表.
我正在附上我的main.xml,请通过它告诉我是否需要进行任何更改
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp"/>
<TextView
android:id="@+id/item_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:padding="2dp"
android:textSize="20dp" />
<TextView
android:id="@+id/item_subtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="13dp" />
</LinearLayout>
</TabHost>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
活动
public class TopNewsActivity extends ListActivity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.listplaceholder);
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); …Run Code Online (Sandbox Code Playgroud)