いろいろやっているのですが、わからないので質問させてください。
現状、150個のImageButtonがあります。
どれが存在しているかわからない状態なので、1から150まで順に調べていき
存在したらsetOnLongClickListenerを設定します。
ImageButtonのID名は"btn1"〜"btn150"までの順番の名前をつけています。
これを以下のように記載してみましたが動きませんでした。
どのように記載すべきかご教授願います。
// 長押しボタンにロングクリックのListenerを設定 for(int i=1;i<=150;i++){ String idName = "btn"+i; try { int btnId = getResources().getIdentifier(idName, "id", getPackageName()); ImageButton iBtn = (ImageButton)findViewById(btnId); iBtn.setOnLongClickListener(new View.OnLongClickListener() { // ボタンが長押しクリックされた時のハンドラ @Override public boolean onLongClick(View view) { String viewName = getResources().getResourceEntryName(view.getId()); if ( viewName.indexOf("btn") != -1 ) { // 番号を取り出す viewName = viewName.replaceAll("btn", ""); // 設定画面へ遷移 MainActivity activity = new MainActivity(); Intent intent = new Intent(activity, setRcvIrActivity.class); intent.putExtra("SET_R_NUM", Integer.parseInt(viewName)); // 遷移先から返却されてくる際の識別コード int requestCode = 102; // 返却値を考慮したActivityの起動を行う startActivityForResult(intent, requestCode); } return true; } }); } catch (android.content.res.Resources.NotFoundException e) { // TODO Auto-generated catch block //e.printStackTrace(); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/30 15:25
2017/03/30 15:36
2017/03/30 15:37
2017/03/30 15:39
2017/03/31 02:56
2017/03/31 03:03 編集
2017/03/31 03:04
2017/03/31 03:05
2017/03/31 03:08