[英]listView item click event not firing
I am having an issue with using a listview that when I click it nothing is happening. 我在使用listview时遇到问题,当我点击它时,没有任何事情发生。 I would like for it when I click the listview item to make a toast so I know it is being clicked.
当我点击listview项目来祝酒时我想要它,所以我知道它被点击了。 I have been trying/researching for a while and nothing.
我一直在尝试/研究一段时间而没有。 Would anybody mind taking a look to see if I am missing something I just am overlooking?
有人会介意看看我是否遗漏了一些我忽略的东西? Many thanks in advance!
提前谢谢了!
Here is my class: 这是我的班级:
public class MyCar extends Activity {
/**
* Called when the activity is first created.
*/
public ListView mylistView;
String carInfo;
private ArrayAdapter<String> mylistAdapter;
ArrayList<String> arrayListCar = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mycar);
mylistView = (ListView) findViewById(R.id.listView);
arrayListCar = new ArrayList<String>();
//Just had to remove setting this adapter 2 times. Took out line below to fix.
mylistView.setAdapter(mylistAdapter);
mylistView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ((TextView) view).getText().toString();
Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
}
});
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
carInfo = trySomethin();
fillList();
}
public void fillList() {
String make = "";
String model = "";
String[] pieces = carInfo.split("\"");
make = pieces[3];
model = pieces[7];
ArrayList<String> carList = new ArrayList<String>();
carList.add(make + " " + model);
// Create ArrayAdapter using the car list.
mylistAdapter = new ArrayAdapter<String>(MyCar.this, android.R.layout.simple_list_item_single_choice, carList);
mylistView.setAdapter(mylistAdapter);
mylistAdapter.notifyDataSetChanged();
}
} }
if you have any elements on listview item change this for them 如果listview项目上有任何元素,则为它们更改此项
android:focusable="false"
and if you are changing any elements visibility on runtime you have to handle focus programatically each time you change its visibility. 如果要更改运行时的任何元素可见性,则每次更改其可见性时都必须以编程方式处理焦点。
Try this
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// ListView Clicked item index
int itemPosition = position;
// ListView Clicked item value
String itemValue = (String) listView.getItemAtPosition(position);
// Show Alert
Toast.makeText(getApplicationContext(),
"Position :"+itemPosition+" ListItem : " +itemValue , Toast.LENGTH_LONG)
.show();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.