[英]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.