- Androidプログラミング質問スレ revision50 [転載禁止]©2ch.net
298 :デフォルトの名無しさん[sage]:2015/12/29(火) 02:49:08.42 ID:36JgvnnY - layout XMLファイル内でViewのonClick属性にメソッドを指定しても、
「Could not find a method〜」エラーが発生して実行できず困っています。 ListView(★)の各行に有るImageViewにそれを設定しています。 これまではActivityの中で★を扱っていてその時は問題なくメソッドを実行できていました。 しかし、 FragmentActivity > Fragmentの中で★を扱うようになってから問題が発生するようになりました。 (FragmentActivityとFragmentどちらに同じ名前のメソッドを定義しても発生) 因みに★の部分をButtonに置き換えた場合のonClick実行は正常でした。 stackoverflowで同じ質問が無いか探してみたのですが見つけられず・・・orz どなたか解決法をご存知の方いらっしゃいませんか?
|
- Androidプログラミング質問スレ revision50 [転載禁止]©2ch.net
303 :298[sage]:2015/12/29(火) 10:41:13.19 ID:36JgvnnY - 298ですが、自己解決?しました。
結局Layout XML上のonClick属性からの実行は諦めて、 ListViewのAdapter#getView内で、ImageViewのonClickイベントからListViewのperformItemClick呼び出し、 ListView側で必要な処理を行って一応動くようになりました。 なんかスッキリしないけど一応動くようになったらからとりあえず良いか・・・orz 何か良い方法有りましたら教えて頂けると嬉しいです。
|
- Androidプログラミング質問スレ revision50 [転載禁止]©2ch.net
308 :298[sage]:2015/12/29(火) 15:47:02.33 ID:36JgvnnY - >> 305さん
同じ行の中でもclickした箇所によって処理を変える必要が有った為、 それだとうまく制御できませんでした。 (引数のViewはListViewそのものになってしまう為、clickされたのがImageViewだったのかどうか等が判定できず) >> 306さん そのパターンも試してみたのですが、やはりダメでした。 ただ気になったのが、 「java.lang.IllegalStateException: Could not find a method edit(View) in the activity class android.app.Application for onClick handler on view class android.widget.ImageView with id 'ivEdit'」 ↑ というように、FragmentActivityは別のクラス名なのに、なぜか"android.app.Application"と表示されるのですよね・・・ (同じ問題を質問している人のlogだと、それぞれの実装クラス名で表示されていたのに) FragmentActivityに届く前に何処か他の所に処理が行ってしまっているようなのですが、全くわからずお手上げ状態。。
|
- Androidプログラミング質問スレ revision50 [転載禁止]©2ch.net
316 :298[sage]:2015/12/29(火) 20:28:47.54 ID:36JgvnnY - >>310さん
ありがとうございます、読んでみますね。 >>311さん 「FragmentActivityからFragmentを表示させてるよね? 」 はいそうしてました。 ListViewではなく、代わりにButton置いてそこからだと正常にいけるというのが不思議で 他の方はFragmentActivityへのメソッド定義でいけているということなので、自分の組み方が何処か悪いのでしょうね 一通りアプリ作成が終わったら調査してみようかなと思います。 >>312さん そういうの有るのですかね〜 同じクラス構成でもListViewとButtonで結果が異なっているのでよくわからなくなってます とりあえず動く物を作る方優先という状況・・・気になりますが^^; 皆さんありがとうございました。
|