簡體   English   中英

將onClick添加到列表視圖?

[英]Adding onClick to listview?

我有一個ListView ,現在我想根據ListView上的單擊值運行一個函數,我只想只知道如何獲取和烘烤我嘗試執行的值,但不知道正確的代碼...請檢查我的代碼。

public class SubCategory extends AppCompatActivity implements View.OnClickListener {

private ListView listView;
String buttonType;
ArrayAdapter adapter;

static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana"};
static final String[] NAMES = new String[] { "Sachin", "Brett", "Shane", "Zaheer"};

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



    Bundle bundle = getIntent().getExtras();
    if(bundle != null) {
        buttonType = bundle.getString("BUTTON_CLICKED");
    }
    if(buttonType != null && buttonType.equals("A")) {
        adapter = new ArrayAdapter<String>(this, R.layout.activity_listview, FRUITS);
    } else if(buttonType != null && buttonType.equals("B")) {
        adapter = new ArrayAdapter<String>(this, R.layout.activity_listview, NAMES);
    }
    listView = (ListView)findViewById(R.id.listview);
    listView.setAdapter(adapter);
}

     public void getList() {

        Toast.makeText(listView.getContext(), Toast.LENGTH_LONG).show();

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.listview:
                getList();
                break;
    }
}
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        list.get(position).GET_INFORMATION(); //GET_INFORMATION will be the method in your POJO class
    }
});

嘗試這個

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
      String value="";
      if(!TextUtils.isEmpty(buttonType) && buttonType.equals("A")) {
          value=FRUITS[position];
       } else if(!TextUtils.isEmpty(buttonType) && buttonType.equals("B")) {
          value=NAMES[position];
       }
     // you can get value in "value"
       showToast(value);
    }
});
public void showToast(String value) {

    Toast.makeText(this,value, Toast.LENGTH_LONG).show();

}

要將單擊偵聽器添加到列表視圖,請按照下列步驟操作

1.在活動的oncreate方法中添加這樣的點擊監聽器。

listView.setOnItemClickListener(this);

2.在活動中添加OnItemClickListener。

public class Main2Activity extends AppCompatActivity implements AdapterView.OnItemClickListener {

3.重寫活動中的onItemClick方法。

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    //Call method here
}

暫無
暫無

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

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