簡體   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