2016-08-19 11 views
-2

こんにちは私は1つのアプリケーションをやっていましたし、imageViewとtextViewのリストビューを持っています。 、リストビューで新しいアクティビティを開く方法imageとtexxtをクリック

public class Chapters extends Activity { 

// Array of strings for ListView Title 
String[] listviewTitle = new String[]{ 
     "ListView Title 1", "ListView Title 2", "ListView Title 3", "ListView Title 4", 
     "ListView Title 5", "ListView Title 6", "ListView Title 7", "ListView Title 8", 
}; 
int[] listviewImage = new int[]{ 
     R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, 
     R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, 
}; 
String[] listviewShortDescription = new String[]{ 
     "Android ListView Short Description", "Android ListView Short Description", "Android ListView Short Description", "Android ListView Short Description", 
     "Android ListView Short Description", "Android ListView Short Description", "Android ListView Short Description", "Android ListView Short Description", 
}; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.chapters); 


    final List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>(); 

    for (int i = 0; i < 8; i++) { 
     HashMap<String, String> hm = new HashMap<String, String>(); 
     hm.put("listview_title", listviewTitle[i]); 
     hm.put("listview_discription", listviewShortDescription[i]); 
     hm.put("listview_image", Integer.toString(listviewImage[i])); 
     aList.add(hm); 
    } 

    String[] from = {"listview_image", "listview_title", "listview_discription"}; 
    int[] to = {R.id.listview_image, R.id.listview_item_title, R.id.listview_item_short_description}; 

    SimpleAdapter simpleAdapter = new SimpleAdapter(getBaseContext(), aList, R.layout.chapters_image_text, from, to); 
    final ListView androidListView = (ListView) findViewById(R.id.list_view); 
    androidListView.setAdapter(simpleAdapter); 
    androidListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 

      //what code do i insert here to open new activity Toast toast = Toast.makeText(getApplicationContext(), 

     } 
    }); 
} 
} 

答えて

2

はトーストを表示するためにあなたのonItemClick方法でそのコードを使用します。

Toast.makeText(getApplicationContext(), "Message", Toast.LENGTH_SHORT).show(); 

あなたは、この別のアクティビティの使用を開きたい場合:

Intent intent= new Intent(MyActivity.this, ResultActivity.class); 
startActivity(intent); 
0

この

Intent intent= new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com")); 
startActivity(intent); 
+0

ますが、前のディスプレイのすべての項目では、メッセージのトーストは、私はif文を使用して –

+0

のように各項目に個別のアクティビティを開いたり、wandle、罪のない人この@ –

+0

を切り替えたいに感謝ブラウザを開く例です。どのような活動をしたいですか? OPのそれについて何も言及されていない。それを行うには、下記のLukasのような、希望のActivityのクラスをリストする必要があります。 – Shark

0

のようなものだけの提案を試してみてください、あなたはこのようにArrayAdapterクラスを使用することができます。

の1- arrayAdapterクラスを作成します。上の

private class YourArrayAdapter extends ArrayAdapter<String>{ 

    public Context context; 
    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view = inflater.inflate(R.layout.your_item_layout, parent, false); 
     //get your views which exist in a one item ex: 
     TextView textView =(TextView)view.findViewById(R.id.text_view); 
     Button button=(Button)view.findViewById(R.id.button); 
     button.setOnClickListener(new OnClickListener() {  
      @Override 
      public void onClick(View v) { 
       //you can use position paramater to know which item was clicked 
       Intent intent= new Intent(YourActivity.this, ActivityYouWantToLaunch.class); 
       startActivity(intent); 
      } 
     }); 
     return view; 
    } 

    public YourArrayAdapter(Context context, int resource,int textViewResourceId) { 
     super(context, resource, textViewResourceId,yourArrayList); 
     this.context=context; 
    } 
} 

2 - ショーのリストビューのアイテムarrayListの項目をすべて入れたら、arrayAdapterを次のように渡します:

YourArrayAdapter yourArrayAdapter= new YourArrayAdapter(this,R.layout.your_item_layout, android.R.id.text1); 
    yourListView.setAdapter(yourArrayAdapter); 

は、私は、これはあなたに役立つことを願っています

+0

私はswitch文をonItemClickリスナーで使用しました。私は各項目の個々のアクティビティを開くことができました。 –

+0

あなたは大歓迎です。 – phoenix

関連する問題