2017-11-22 8 views
0

addClickListener Intentを追加して、ArrayListへのリンクを開きます。Intent(オープンブラウザ)を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;} 
} 

をし、私はこのコードで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); 
    } 
}); 

あなたは私を伝えることができますか?リンクはintですか?それを呼び出す方法?

+2

ここに配列リストはありません。 –

+0

何が起こっているか教えてください –

+0

ここにインテントの配列リストはありません。 'Element'は' Intent'ではありません。 –

答えて

0
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); 
        } 
     } 
    } 
0

私は問題を解決しました。返信いただきありがとうございます。

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); 
       } 
      }); 
関連する問題