代码如下:
<pre name="code" class="java">myList=(ListView)findViewById(R.id.mylist); <span style="font-family: Arial, Helvetica, sans-serif;"> </span>
ArrayAdapter<String> mAdapter=new ArrayAdapter<String>(this,R.layout.myitem);
mAdapter.add(getResources().getString(R.string.my_makemoney_record));
mAdapter.add(getResources().getString(R.string.my_exchange_record));
mAdapter.add(getResources().getString(R.string.my_update_password));
//添加消息处理
myList.setOnItemClickListener(new OnItemClickListener()
{
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public void onItemClick(AdapterView<?> parent, View view,
<span style="white-space:pre"> </span>int position, long id) {
<span style="white-space:pre"> </span>Log.e("MainActivity","click.position="+position);<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>});
myList.setAdapter(mAdapter);
}
未修改R.layout.myitem布局如下:
<span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0" encoding="utf-8"?></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><TextView xmlns:android="http://schemas.android.com/apk/res/android"</span>
android:id="@+id/my_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:textColor="@color/blue"
>
</TextView>
运行发现不进入 <span style="font-family: Arial, Helvetica, sans-serif;">onItemClick事件里面,没有打印响应的log</span>
<span style="font-family:Arial, Helvetica, sans-serif;">错误原因:</span><span style="font-family: Arial, Helvetica, sans-serif;">myList在设置</span><span style="font-family: Arial, Helvetica, sans-serif;">ArrayAdapter<String>时,自定义的布局文件内部最外层需要填充父类布局才会响应onItemClick事件</span>
<span style="font-family:Arial, Helvetica, sans-serif;"></span><pre name="code" class="java">修改的R.layout.myitem布局如下:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:textColor="@color/blue"
>
</TextView>
再次运行ok!