如何判断ListView上的哪个项目被点击?

时间:2011-03-27 13:10:44

标签: android

我的ListView上有很多项目,但我不知道如何在特定项目上实现监听器。我也尝试使用if语句但仍然无效。

我试过这段代码:

list.setOnItemClickListener(new OnItemClickListener() {                                                                                                                                                             
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)                               
        {                                                                                                                                                                           
            if(list.getItemAtPosition(position).equals(mStrings[0]))                                                       
            {                                                                                                           
                Intent i = new Intent(MainActivity.this, Activity2.class);                                                                                        
                startActivity(i);                                                                                
                }                                                                                                    
            }                                                                                                       
        });
}

但是此代码适用于所有项目。

3 个答案:

答案 0 :(得分:0)

刚刚放好   setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,String []显示为List));

然后你就可以知道点击了哪个项目......

答案 1 :(得分:0)

arg1是在ListView中单击的视图。 position是ListView中该项的索引。如果您将String的ArrayList传递给ListAdapter,则可以调用stringArray.get(position)来获取被单击的项目。

答案 2 :(得分:0)

在添加android:descendantFocusability="blocksDescendants"之后,我遇到了类似的情况  到我的列表视图xml我能够让我的点击监听器正常工作