[英]How to add Intent (open browser) to ArrayList
I want add onClickListener Intent to open a link into ArrayList. 我想添加onClickListener目的打开一个到ArrayList的链接。
I made class: 我上了课:
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;}
}
and I want to call it in MainActivity with this code: 我想用以下代码在MainActivity中调用它:
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);
}
});
Can you tell me where I am doing mistake? 你能告诉我我在哪里做错吗? Is link an int? 链接是int吗? How to call it? 怎么称呼它?
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);
}
}
}
Ok, I resolved my problem. 好的,我解决了我的问题。 Thanks all for reply. 谢谢大家的答复。
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);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.