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

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

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

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

Q&A

0回答

1247閲覧

fragmentのlistviewから遷移

taro_yamada

総合スコア55

Android

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

0グッド

0クリップ

投稿2019/03/08 13:25

編集2019/03/08 16:05

fragment上のリストビューのボタンを押して別のfragmentの詳細画面に飛ぶようなプログラムを書きたいと思っています。
とあるHPを参考に以下のようなソースコードを描いてみましたが、リストビューまでは動くのですが、クリックしても遷移しません。

リストビューを表示しているfragmentのクラスの中のonCreateViewのメソッドの中に記載しています。

初心者で質問が今ひとつで申し訳ありません。

どなたかアドバイスいただけないでしょうか?

java

1 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 2 @Override 3 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 4 Fragment_Summary fragment = new Fragment_Summary(); 5 Bundle bundle = new Bundle(); 6 bundle.putInt("selected",position); 7 fragment.setArguments(bundle); 8 FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); 9 FragmentTransaction transaction = fragmentManager.beginTransaction(); 10 transaction.replace(R.id.main_frame, fragment); 11 transaction.addToBackStack(null); 12 transaction.commit(); 13 14 } 15 }

getView

1 @Override 2 public View getView(int position, View convertView, ViewGroup parent){ 3 4 ViewHolder viewHolder; 5 if(convertView == null){ 6 LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 7 convertView = inflater.inflate(R.layout.mainlist, parent, false); 8 viewHolder = new ViewHolder(); 9 viewHolder.meigaracode = (TextView)convertView.findViewById(R.id.meigaraText); 10 viewHolder.companyname = (TextView)convertView.findViewById(R.id.companynameText); 11 viewHolder.bbstart = (TextView)convertView.findViewById(R.id.bbStart); 12 viewHolder.bbend = (TextView)convertView.findViewById(R.id.bbEnd); 13 viewHolder.yosokakaku = (TextView)convertView.findViewById(R.id.yosoKabuka); 14 15 convertView.setTag(viewHolder); 16 } else { 17 viewHolder = (ViewHolder)convertView.getTag(); 18 } 19 MainList item = (MainList)getItem(position); 20 viewHolder.bbstart.setText(item.getBbstart()); 21 viewHolder.bbend.setText(item.getBbend()); 22 viewHolder.meigaracode.setText(item.getMeigaracode()); 23 viewHolder.companyname.setText(item.getCompanyname()); 24 return convertView; 25 } 26

maillist.xml

1<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="90dp" 5 android:orientation="horizontal"> 6 7 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 8 android:layout_width="300dp" 9 android:layout_height="90dp" 10 android:orientation="vertical" 11 android:paddingTop="10dp" 12 android:paddingBottom="10dp" 13 android:background="@color/white_color"> 14 15 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 16 android:id="@+id/layout1" 17 android:layout_width="match_parent" 18 android:layout_height="20dp" 19 android:layout_gravity="top" 20 android:orientation="horizontal"> 21 22 <TextView 23 android:id="@+id/meigaraText" 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" 26 android:text="@string/meigaracode" 27 android:textAppearance="?android:attr/textAppearanceSmall" /> 28 29 <TextView 30 android:id="@+id/companynameText" 31 android:layout_width="match_parent" 32 android:layout_height="wrap_content" 33 android:text="@string/companyname" 34 android:textAppearance="?android:attr/textAppearanceMedium" 35 tools:textSize="14sp" /> 36 37 </LinearLayout> 38 39 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 40 android:id="@+id/layout2" 41 android:layout_width="match_parent" 42 android:layout_height="20dp" 43 android:layout_gravity="center" 44 android:orientation="horizontal"> 45 46 <TextView 47 android:id="@+id/period" 48 android:layout_width="wrap_content" 49 android:layout_height="wrap_content" 50 android:layout_gravity="center_vertical" 51 android:text="BB期間:" 52 android:textAppearance="?android:attr/textAppearanceMedium" 53 android:textSize="12sp" /> 54 55 <TextView 56 android:id="@+id/bbStart" 57 android:layout_width="wrap_content" 58 android:layout_height="wrap_content" 59 android:layout_gravity="center_vertical" 60 android:text="@string/bbstart" 61 android:textAppearance="?android:attr/textAppearanceMedium" 62 android:textSize="12sp" /> 63 64 <TextView 65 android:id="@+id/period" 66 android:layout_width="wrap_content" 67 android:layout_height="wrap_content" 68 android:layout_gravity="center_vertical" 69 android:text=" から " 70 android:textAppearance="?android:attr/textAppearanceMedium" 71 android:textSize="12sp" /> 72 73 <TextView 74 android:id="@+id/bbEnd" 75 android:layout_width="wrap_content" 76 android:layout_height="wrap_content" 77 android:layout_gravity="center_vertical" 78 android:text="@string/bbend" 79 android:textAppearance="?android:attr/textAppearanceMedium" 80 android:textSize="12sp" /> 81 82 83 </LinearLayout> 84 85 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 86 android:id="@+id/layout3" 87 android:layout_width="match_parent" 88 android:layout_height="20dp" 89 android:layout_gravity="bottom" 90 android:orientation="horizontal"> 91 92 <TextView 93 android:id="@+id/yosocaption" 94 android:layout_width="wrap_content" 95 android:layout_height="wrap_content" 96 android:layout_gravity="center_vertical|end" 97 android:text="予想初値" 98 android:textAppearance="?android:attr/textAppearanceMedium" 99 android:textSize="12sp" /> 100 101 <TextView 102 android:id="@+id/yosoKabuka" 103 android:layout_width="wrap_content" 104 android:layout_height="wrap_content" 105 android:layout_gravity="center_vertical|end" 106 android:text="@string/yosokabuka" 107 android:textAppearance="?android:attr/textAppearanceMedium" 108 android:textSize="12sp" /> 109 110 </LinearLayout> 111 112 113 </LinearLayout> 114 115 <Button 116 android:id="@+id/button1" 117 style="@style/Widget.AppCompat.Button" 118 android:layout_width="0dp" 119 android:layout_height="30dp" 120 android:layout_weight="2" 121 android:layout_gravity="center" 122 android:text="@string/button" /> 123 124</LinearLayout>

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

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

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

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

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

jimbe

2019/03/08 15:11 編集

クリック時にこの onItemClick に制御が移っているのはご確認済みでしょうか. また, 宜しければ, 行のレイアウトの xml と, アダプタの getView メソッドをご提示頂けますか?
taro_yamada

2019/03/08 15:12

すみません。確認方法がわからず困っています。 LOGCATを見ても、どれがそこに該当するのかわからないでいます。 ちなみに、エミュレーターをクリックしてもLOGには直ちには何も出ずに、30秒くらいしてから色々なLOGが出てきます。
jimbe

2019/03/08 15:20

Log クラスをご利用頂くのが簡単かと思います. Log.d(タグ, 文字列); とすると, LOGCAT にタグ: 文字列が追加表示されますので, onItemClick の先頭等に入れられればご確認頂けます.
taro_yamada

2019/03/08 15:28

2019-03-09 00:27:00.018 1758-1761/? D/hwcomposer: hw_composer sent 36 syncs in 60s 2019-03-09 00:27:00.189 1755-1772/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 941282 , only wrote 788400 2019-03-09 00:27:00.276 2253-2253/? I/BeaconBle: Scan : No clients left, canceling alarm. 2019-03-09 00:27:07.131 1827-1840/? E/memtrack: Couldn't load memtrack module 2019-03-09 00:27:07.131 1827-1840/? W/android.os.Debug: failed to get memory consumption info: -1 tagが表示されずに、上記のようなメッセージが出ました
jimbe

2019/03/08 15:36

表示されないのであれば, onItemClick に制御が移っていないということかと思います. つまり, フラグメントの遷移以前の問題ということですね. 行のレイアウトの xml と, アダプタの getView メソッドをご提示頂けますか?
jimbe

2019/03/08 15:55

いえ, フラグメントのレイアウトではなく, ListView の各行のレイアウトの mainlist.xml をお願い致します.
taro_yamada

2019/03/08 16:05

失礼しました。更新しました。
jimbe

2019/03/08 16:24 編集

ありがとうございます. button1 をクリックしたら遷移するということですね. ちなみに, ボタンでなくてはならないのでしょうか. 行そのもののクリックでは何か他の仕様を満たせませんか?
taro_yamada

2019/03/08 16:18

ボタンでなくても大丈夫です。
jimbe

2019/03/08 16:22

でしたら, レイアウトから button を消して, 実行時に行をクリックすれば良いように思います.
taro_yamada

2019/03/08 16:27

できました!ありがとうございます。 これって何が原因になるのでしょうか? ボタンを配置した途端に、mListViewのsetOnItemClickListenerがボタンをさしてしまうのですか?
jimbe

2019/03/08 16:37

ボタンでは ListView のリスナは反応致しません. taro_yamada さんは恐らくボタンを機能させようとボタンをクリックされていたと思いますが, ご存知の通りボタンにはボタン のリスナがありますので, もしボタンで遷移をさせなければならないのでしたら, getView 内でボタンにボタンのリスナを登録する必要がございました. そして, (うろ覚えなのですが)例えボタンがあったとしても, ボタン以外の箇所をクリックすれば, 実は画面遷移が出来ていたのではないでしょうか. この辺りは実際に試していただく方が確実かもしれません.
taro_yamada

2019/03/08 23:40

なるほど、夜分遅くにご対応本当にありがとうございました。 作成を進めてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問