繁体   English   中英

如何将Click Listener添加到ListView?

[英]How do I add Click Listener to ListView?

我有一个列表视图,其中填充了我希望能够单击某个项目并将其转到我播放音频的其他活动的国家/地区。 我的清单查看:

public class MainActivity extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_selectable_list_item,getResources()
    .getStringArray(R.array.countries)));
     }
    }

我如何添加一个onClick,就像你如何为一个按钮做一个?

ListView listView = getListView(); // hear bind your listview

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_selectable_list_item,getResources().getStringArray(R.array.countries)));

 listView.setAdapter(ListAdapter);
 listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> listView, View itemView, int itemPosition, long itemId)
        {           

        }
    });

 }
}

要么使用getListView()建在列表视图访问,并就工作:

getListView().setOnItemClickListener();

或者 ,覆盖onListItemClicked()ListActivity

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    //--do stuff--
}

覆盖onItemClick()方法

 @Override
 public void onItemClick(AdapterView<?> arg0, View view, int arg2,
              long arg3) {
     // TODO Auto-generated method stub          
     Intent intent = new Intent(getApplicationContext(), Activity2.class);
     startActivity(intent);

  }

由于您的活动扩展了ListActivity

  ListView lv = getListView();
  lv.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> listView, View itemView, int itemPosition, long itemId)
    {           
          Intent launchActivity = new Intent(FirstActivity.this, SecondActivity.class);
          startActivity(launchActivity);
    }
   });

你可以使用context.getlistview()来获取listview。 并将setOnItemClickListener添加到listview中。

context.getlistview().setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //Do whatever you want here

            }
        });

为方便implement OnItemClickListener ,只需将implement OnItemClickListener到您的类中即可

onCreate添加它

ListView listView = getListView();
listView.setOnItemClickListener(this);

然后像这样覆盖onItemClick

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id){
    // your code
}

您必须使用setOnItemClickListener方法。 这是代码

 listview.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            // do your code here

        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM