1

リストビューの各項目があなたを別のインテントに誘導するように、どのようにリストビューのonClickListenerを設定しますか?Android ListView to Intents

答えて

0

は次のようにリスナーを設定しますpositionをリスナーで受信し、その位置のリスト内の項目を取得します。そして、あなたは?おかげでIntentでアイテムをバンドルしてActivityに送信する(putExtraで上記のコードを参照してください)

+0

あなたはitem変数を使って何をしましたか?それは再現しません – user1236269

+0

'item'はあなたがリスト内でクリックしたものです。おそらく、 'item'を使って起動する' Activity'を調べるでしょう。私たちがあなたからの詳細を持っていないことを考えると、 'item'を使って' Activity'をどのように使うのかを言うことは不可能です。 – koopaking3

+0

オハイオ州オハイオ州、私はそれを働かせました、ありがとう、しかし私はdrawableを変えようとしています、そして、それはエラーで起こります、あなたはそれをする方法を考えていますか? – user1236269

2

あなたがListActivityを拡張している場合、あなたはこのような何か行うことができます。

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    String item = (String) getListAdapter().getItem(position); 
      Intent intent = new Intent(present_activity.this,target_activty.class); 
      intent.putExtras("key",item); 
      startActivity(intent); 
} 

希望これは..役立ちます:)

+0

なるほど...しかし、あなたは後で意図でそれを使用していない場合はどのように文字列の項目のヘルプを定義しないことができますbtw – user1236269

+0

@ user1236269私は私の答えliffle bit.pleaseを見て変更しました。 –

0

あなたは(onListItemClick使用できるアダプタを介してリストを移入している場合は)リストビュー、クリックされたビュー、およびリスト内の位置が表示されます。

そこからスイッチを使用して、さまざまなアクティビティを開始できます。また、リストビューがよりダイナミックであれば、タグで開くアクティビティーを保存するリストをビューに含めることができます。 (view.setTag( "acivityName"))と活動を開始するには、次のようなものを使用する:あなたが使用

myListView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView parent, View view, int position, long id) { 
       String item = (String) myListView.getAdapter().getItem(position); 

       Intent intent = new Intent(getBaseContext(), MyActivity.class); 
       intent.putExtras("name", item); 
       startActivity(intent); 
     } 
    }); 

EDIT

String activityName = view.getTag(); 
i = new Intent(v.getContext(), Class.forName(activityName)); 
startActivity(i);