Java 如何在listView上实现操作侦听器?

Java 如何在listView上实现操作侦听器?,java,android,clicklistener,Java,Android,Clicklistener,几天来,我一直在努力寻找正确的方法来实现ListView的操作侦听器。我真正想做的是创建一个ListView,每当用户单击任何项目时,就会切换上一个活动。我在这方面真的是新手,所以请帮助我,我将非常感激。如果你能告诉我我在代码上做错了什么,那就太棒了 我使用的是[here][1]中的Fedor代码 ///Here I tried to Implement an action listener but It doesn't work. list.setOnItem

几天来,我一直在努力寻找正确的方法来实现ListView的操作侦听器。我真正想做的是创建一个ListView,每当用户单击任何项目时,就会切换上一个活动。我在这方面真的是新手,所以请帮助我,我将非常感激。如果你能告诉我我在代码上做错了什么,那就太棒了

我使用的是[here][1]中的Fedor代码

        ///Here I tried to Implement an action listener but It doesn't work.

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


      }
///在这里,我尝试实现一个动作侦听器,但它不起作用。
list.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView arg0、视图arg1、整型位置、长id)
{                                                                                                                                                                           
if(list.getItemAtPosition(position).equals(mStrings[1]))
{                                                                                                           
意向i=新意向(MainActivity.this、Activity2.class);
星触觉(i);
}                                                                                                    
}                                                                                                       
});
}

在这种情况下,您需要覆盖onListItemClick。提到 要获得更多帮助,该解决方案是一个相当好的实现

这里有一个可能的实现,应该放在您的主要活动中。请记住,只有在保持MainActivity扩展活动的情况下,这才有效

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
     // Intent launcher here
}
如果以后希望扩展ListActivity而不是Activity,并且需要调用onListItemClick,请按照此方案执行

公共类YourClass扩展ListActivity实现了一个新的ListListener{

@Override
public void onCreate(Bundle icicle){
    super.onCreate(icicle);
    setContentView(R.layout.your_layout);

    getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // your stuff here
}
}
@覆盖
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.your_布局);
getListView().setOnItemClickListener(此);
}
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
//你的东西在这里
}
}

到底什么不起作用?McClick从来没被叫来过?if语句失败?整个应用程序工作正常,但是,每当我单击任何按钮时,它都不会执行任何操作。我实际上想把用户从MainActivity带到另一个Activity。如果您没有注意到,我在mainActivity.class上使用了.setOnItemClickListener,但没有完成任务?谢谢回复,我希望你有一个好主意来帮助我。让我重新措辞。当您单击列表中的项目时,应用程序是否开始执行
onItemClick
,但if语句
if(list.getItemAtPosition(position).equals(mStrings[1]))
返回false,没有任何事情发生,或者应用程序根本没有执行
onItemClick
?否应用程序根本没有执行任何操作?这就像没有任何命令的ListView,您可以按它,但不会发生任何事情。我曾经实现了一个普通ListView的监听器,但是,使用Fedor的from()代码很好。如果您有任何建议,我将非常感谢您的快速回复!我想您不需要单击鼠标,只需单击鼠标即可。请参阅此问题的答案:我应该在哪里覆盖onListItemClick?在我的主要活动中,可以在LazyAdapterClass中找到我的字符串?提前谢谢你,伊洛巴托!在MainActivity中重写它。我不确定你是否可以在LazyAdapter类中重写它。谢谢你的提示,但是你能告诉我如何使用这个onListItemClick根据我的代码吗。我只知道如何使用onItemClick,但那一个不起作用。我已经包括了一些片段来帮助你,伙计,我甚至测试了它,但如果某些东西对你不起作用,继续评论:)!那么,如果您没有使用“if stamment”,我如何判断单击了哪个项目呢?