Java 带有customView和onClickItemListener的ListView
我对listview有问题。。。我正在尝试添加OnClickListener,但in仍然不起作用。我想在单击后显示另一个活动。有人能帮我吗?我知道有很多例子,但它不适用于我的应用程序,或者我不知道如何在我的例子中使用它 这是我的LocationAdapter类:Java 带有customView和onClickItemListener的ListView,java,android,listview,android-custom-view,Java,Android,Listview,Android Custom View,我对listview有问题。。。我正在尝试添加OnClickListener,但in仍然不起作用。我想在单击后显示另一个活动。有人能帮我吗?我知道有很多例子,但它不适用于我的应用程序,或者我不知道如何在我的例子中使用它 这是我的LocationAdapter类: public class LocationAdapter extends ArrayAdapter<LocationModel> { int resource; String response; Context conte
public class LocationAdapter extends ArrayAdapter<LocationModel> {
int resource;
String response;
Context context;
private LayoutInflater mInflater;
public LocationAdapter(Context context, int resource, List<LocationModel> objects) {
super(context, resource, objects);
this.resource = resource;
mInflater = LayoutInflater.from(context);
}
static class ViewHolder {
TextView titleGameName;
TextView distanceGame;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
//Get the current location object
LocationModel lm = (LocationModel) getItem(position);
//Inflate the view
if(convertView==null)
{
convertView = mInflater.inflate(R.layout.item, null);
holder = new ViewHolder();
holder.titleGameName = (TextView) convertView
.findViewById(R.id.it_location_title);
holder.distanceGame = (TextView) convertView
.findViewById(R.id.it_location_distance);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.titleGameName.setText(lm.getGameName());
holder.distanceGame.setText(lm.getGameDistance()+" km");
return convertView;
}
这是个好主意吗?谢谢你的帮助
好了,完成了。我用过:
public void onItemClick(AdapterView<?> a, View
v, int position, long id) {
String idGame = (String) ((TextView) v.findViewById(R.id.idGameSelected)).getText();
public void onItemClick(适配器视图a,视图
v、 内部位置,长id){
String idGame=(String)((TextView)v.findViewById(R.id.idGameSelected)).getText();
谢谢你,Michal。lv.setOnItemClickListener(新的OnItemClickListener(){
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
Intent i = new Intent(view.getContext(), NextActivity.class);
startActivity(i);
}
});
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
意图i=新意图(view.getContext(),nextractivity.class);
星触觉(i);
}
});
我不知道为什么这不起作用,请将其放在try{}catch{}块之后。您可以在适配器实例上定义一个onItemClick(即在mainListView.java中,就在lv.setAdapter之后):
lv.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(AdapterView a,视图
v、 内部位置,长id){
Intent i=新的Intent(v.getContext(),nextractivity.class);
星触觉(i);
}
});
arf,你在电话里打败了我……可惜我的一个同事在这个时候来聊天……;)我喜欢我们都称之为NextActivity.class.:D
public void onItemClick(AdapterView<?> a, View
v, int position, long id) {
String idGame = (String) ((TextView) v.findViewById(R.id.idGameSelected)).getText();
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
Intent i = new Intent(view.getContext(), NextActivity.class);
startActivity(i);
}
});
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View
v, int position, long id) {
Intent i = new Intent(v.getContext(), NextActivity.class);
startActivity(i);
}
});