我想添加onclicklistener意图将链接打开到arraylist。
我上课:
public class Element {
private String mNazwa;
private String mOpis;
private Intent mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
private int mImageResourceId;
public Element (String nazwa, String opis, int imageResourceId, int link, Intent intent) {
mNazwa = nazwa;
mOpis = opis;
mIntent = intent;
mImageResourceId = imageResourceId;
}
public String getNazwa() {return mNazwa;}
public String getOpis() {return mOpis;}
public int getIntent() {return mIntent;}
public int getmImageResourceId() {return mImageResourceId;}
}
,我想用此代码以MainAttivity称其为:
final ArrayList<Element> elements = new ArrayList<Element>();
elements.add(new Element("dupa", "asdasdas", R.drawable.color_green,));
elements.add(new Element("dupa", "asdasdas", R.drawable.color_green));
elements.add(new Element("dupa", "asdasdas", R.drawable.color_green));
ElementAdapter adapter = new ElementAdapter(this, elements);
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getLink);
startActivity(browserIntent);
}
});
你能告诉我我在哪里做错吗?Link是INT吗?如何称呼它?
Could you write something like this and solve?
public class Element {
private String mNazwa;
private String mOpis;
private int mImageResourceId;
private link;
public Element (String nazwa, String opis, int imageResourceId, String link) {
mNazwa = nazwa;
mOpis = opis;
mIntent = intent;
this.link = link;
mImageResourceId = imageResourceId;
}
public String getNazwa() {return mNazwa;}
public String getOpis() {return mOpis;}
public int getmImageResourceId() {return mImageResourceId;}
}
public ElementAdapter extends BaseAdapter {
private ArraList<Element> lstElement;
public ElementAdapter (ArraList<Element> lstElement) {
this.lstElement = lstElement;
}
public onBindViewHolder(ViewHolder holder, int position) {
// you tag the link with the image;
holder.image.setTag(lstElement.get(position).getLink())
}
public onClick(View view) {
String tag = view.getTag().toString();
Intent browserIntent = new
Intent(Intent.ACTION_VIEW,Uri.parse(tag);
startActivity(browserIntent);
}
}
}
好吧,我解决了问题。谢谢大家的答复。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Element word = elements.get(position);
Intent mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(word.getUrl()));
startActivity(mIntent);
}
});