简体   繁体   English

如何将Intent(打开浏览器)添加到ArrayList

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM