###前提・実現したいこと
ここに質問したいことを詳細に書いてください
Androidでフラグメントのリスト項目をタップすることで項目名とその内容を別のフラグメントに表示させたいのですがどこに内容を入力しどのようにタップされたリストの項目と紐づければいいのかわかりません。
調べたのですが理解できなかったためどなたか教えてください
現在の状態のコードではフラグメントリストの表示はできています。
###該当のソースコード
Android
1public class MainActivity extends Activity { 2 /** 3 * アクティビティ生成時に呼ばれるメソッド 4 * 5 * @param savedInstanceState 6 */ 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 12 } 13} 14```Android 15コード 16```public class PracticeFragment extends Fragment { 17 /** 18 * Fragmentに関連付けるViewを作成 (2) 19 * 20 * @param inflater LayoutInflaterオブジェクト 21 * @param container フラグメントを挿入しようとしている親のViewGroup 22 * @param savedInstanceState フラグメントの前のインスタンスに関連するデータ 23 */ 24 @Override 25 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 26 //フラグメント用のレイアウトをインフレートする 27 return inflater.inflate(R.layout.fragment, container, false);
}
}
Android
1public class PracticeListFragment extends ListFragment{ 2 private TextView tv1; 3 4 /** 5 * リスト要素 6 */ 7 private static final String[] Data = { 8 "item1", "item2", "item3" 9 }; 10 11 /** 12 * 親となるActivityの「onCreate」の終了を知らせる 13 * 14 * @param savedInstanceState フラグメントの前のインスタンスに関連するデータ 15 */ 16 @Override 17 public void onActivityCreated(Bundle savedInstanceState) { 18 super.onActivityCreated(savedInstanceState); 19 20 //ArrayAdapterを利用してリストフラグメントに値をセット (2) 21 ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, Data); 22 setListAdapter(adapter); 23 24 } 25 26 /** 27 * リスト項目が選択された場合に呼ばれる (2) 28 * 29 * @param l 選択されたリストビュー 30 * @param v リストビュー内で選択されたビュー 31 * @param position リスト内のビューの位置 32 * @param id 選択されたアイテムの行番号 33 */ 34 @Override 35 public void onListItemClick(ListView l, View v, int position, long id) { 36 super.onListItemClick(l, v, position, id); 37 38 //トーストを用いて選択されたリストの値を表示 (3) 39 Toast.makeText(getActivity(), Data[position], Toast.LENGTH_SHORT).show(); 40 } 41 42 protected void findViews(){ 43 tv1 = (TextView)getActivity().findViewById(R.id.textView ); 44 } 45 46}
###補足情報(言語/FW/ツール等のバージョンなど)
Android:API15
回答1件
あなたの回答
tips
プレビュー