这堂课有什么不对?列表视图中的点击未注册,我试图做一个日志,但它没有进入setonItemClickListener
public class Chosen extends Activity{
SimpleCursorAdapter adapter;
String[] getResult;
Cursor c;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.chosen);
Intent i=getIntent();
Bundle extras=i.getExtras();
final TextView t=(TextView) findViewById(R.id.tv1);
int num=extras.getInt("category");
ArrayList al=new ArrayList<String>();
switch(num)
{
case 0:c=Splash.db.getSocial(Login.uname);break;
case 1:c=Splash.db.getMail(Login.uname);break;
case 2:c=Splash.db.getBank(Login.uname);break;
case 3:c=Splash.db.getMisc(Login.uname);break;
}
if(c.moveToFirst())
{
do
{
al.add(c.getString(1));
}while(c.moveToNext());
}
getResult=new String[al.size()];
al.toArray(getResult);
ListView lv=(ListView) findViewById(R.id.list);
lv.setClickable(true);
ArrayAdapter ad=new ArrayAdapter(this,R.layout.chosenitemlist,R.id.client,getResult);
lv.setAdapter(ad);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
// TODO Auto-generated method stub
Log.w("akash", "in list item click");
t.setText("clicked");
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_LONG).show();
}
});
}
}
答案 0 :(得分:3)
有趣。 首先,尝试我自己检查过的几种情况:http://xjaphx.wordpress.com/2011/07/14/listview-doesnt-respond-to-onitemclicklistener/
如果问题仍然存在,您可能想要共享您的源代码,我想分析它是否是一个新的场景。如果你不能共享完整的源代码,那么尝试创建一个新项目并放入所有必要的代码,并分享:)
答案 1 :(得分:0)
我找到的另一个场景(xjaphx没有列出):我的行布局有一个textview
和两个图像,其中一些已经有了#34; clickable = true
&#34; 。将其设置为&#34; false
&#34;解决了这个问题。