質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1436閲覧

Androidのフラグメントについて教えてください

hiroki.c

総合スコア8

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/08/03 09:22

編集2017/08/05 01:49

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2017/08/03 12:17 編集

コードをコード用の記述に修正してください。また、クラスごとにコードを分けてください。 このコードはあなたがやりたいことをどの程度できているかを具体的に説明してください。
guest

回答1

0

ベストアンサー

今の状態でonListItemClickでクリックされた項目の名称を受け取れていますね?

その値をBundleに詰めて、詳細表示用のFragmentに渡すといいですね。

ただ、詳細表示用の画面をActivityとして実装しActivity#startActivityで遷移した方が理解しやすいと思いますよ。

投稿2017/08/05 03:18

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問