我一直在努力尝试找到将动作侦听器实现到ListView的正确方法。我真正想要完成的是创建一个ListView,并在用户点击任何项目时,将切换上一个活动。我真的很新,所以请帮帮我,我真的很欣赏它很多。如果你可以告诉我我在我的代码上做错了什么,这是真棒的!

我正在使用[这里] [1]中的联邦代码。

        ///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);                                                                                
                    }                                                                                                    
                }                                                                                                       
            });


      }
.

有帮助吗?

解决方案

您需要在这种情况下覆盖onlistitemclick。参考 单击listview上的侦听器 有关更多帮助,解决方案是一个相当良好的实现。

此处是应在主要活动中进行的可能实现。请记住,只要保持主动扩展活动,这将只能工作。

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
     // Intent launcher here
}
.

如果您稍后希望扩展列表而不是活动,并且您需要调用OnlistiteMclick,请遵循此方案

公共类yourclass扩展列表实现OnITemClickListener {

@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
}
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top