簡體   English   中英

Android:在“項目”上單擊“偵聽器”以實現列表視圖基本適配器實現

[英]Android: On Item Click Listener for List View Base Adapter implementation

有人可以給我提供一個示例的單擊項偵聽器的示例,該偵聽器用於帶有基本適配器的列表視圖嗎?

我的列表視圖包含兩個文本視圖和一個復選框。 我想創建一個項目單擊偵聽器,以便在按下一個項目(或行)時,它勾選相應的行復選框。

我嘗試使用Google,但找不到任何示例

謝謝

因此,適配器並不重要,但是我相信您要嘗試的操作非常簡單,首先您需要獲得ListView引用,我將其稱為listView

設置適配器后,您可以使用setOnItemClickListener創建點擊操作,

    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public boolean onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //here you can use the position to determine what checkbox to check
            //this assumes that you have an array of your checkboxes as well. called checkbox
            checkBox[position].setChecked(!checkBox.isChecked());
        }
    });

實際上,這很簡單,在執行操作“ setAdapter”之后,您必須執行以下操作:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

Toast.makeText(getApplicationContext(), "You click on position:"+position, Toast.LENGTH_SHORT).show();

        }
    });

下面的代碼正常工作:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

  @Override
  public void onItemClick(AdapterView<?> parent, 
                          View view, int position, long id) { 

    Toast.makeText(getApplicationContext(), 
                   "You click on position:"+position, Toast.LENGTH_SHORT).show();
  }
});

但是,當我單擊items它將轉到其他活動。 我該怎么辦?

您可以使用OnItemClick()方法的View參數訪問listview行的所有元素。 例如

    listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, 
                      View view, int position, long id) { 
    // second parameter View view entire row object that is clicked  - in your case 
    // two text views and the checkbox
    // supposing your checkbox is set up with an id in the xml as idchkbox
    // You can access it by findview by id and set it true or false;
        android.widget.CheckBox  chkbox = view.findViewbyId(R.id.idchkbox);
        chkbox.setChecked = true;
        return;
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM