問題タブ [findviewbyid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
505 参照

android - ボタンの値を動的に入力する Android

if 条件または case ステートメントを使用して要素の条件をプログラムで変更する例をたくさん見てきました...ヤダヤダ。ユーザーがクリックした内容に基づいて、ボタンの値を変更する必要があります。以下は私が現在持っているコードです。

基本的に、どのボタンが押されたかを知る必要があります。次に、それを findViewById() 関数に動的に入力します。すなわち

このようにして、コードの最後のボタン部分に到達するまでに、ユーザーがクリックした値を取得します。ボタンを 1 つだけにしたい場合、または異なる構成で 1 マイルのページを深くしたい場合 (理想的ではありません)、コードは機能します。

私がこれまでに見たすべての例は、ユーザーがボタンをクリックした後 (これは私が望んでいるものです) ですが、上記のコードが示すように静的にボタン名を付けていますが、非常に静的です。

すべてが理にかなっていることを願っています。

アップデート:

私は状況を混乱させた可能性があると思います。以下は残りのコードです。うまくいけば、これはコンテキストを提供します。btnOpenPopup は、新しいウィンドウが実際にポップアップするコマンドを実行する呼び出しで使用されるものと同じままである必要があります。うまくいけば、これは私が達成しようとしていることのコンテキストをもう少し提供します.

0 投票する
2 に答える
5694 参照

android - findViewById がフラグメントで null を返す

フラグメントで findViewByID メソッドを使用すると問題が発生します。

のスピナーSpinner spinner = (Spinner) view.findViewById(R.id.tabsearchspinner_location);は常に null です。以下のコードを参照してください。

}

レイアウト ファイルは次のとおりです (ps: values/ids.xml ファイルで id/tabsearchspinner_location を既に宣言しています)。<item type="id" name="tabsearchspinner_location"></item>

どんな助けでも大歓迎です!

0 投票する
1 に答える
4209 参照

android - は?onReceive() 内で findViewById() を呼び出すことはできませんか?

クラスの 1 つで、受信したブロードキャストに応答して (メイン レイアウト内の) ビューにアクセスしようとしています。

問題は、findViewById() が常に null を返し、その結果、常に TAG_FAIL エラー メッセージが表示されることです。

アクティビティのonCreate()内でまったく同じ findViewById(R.id.lin_layout)呼び出しを行うと、目的の結果が返されるため、上記のコードのタイプミスやその他のエラーではないことがわかります。

なぜこうなった?

BroadcastReceiver内でのfindViewById()の呼び出しに制限はありますか?

または他の理由ですか?

0 投票する
6 に答える
3485 参照

android - inflate() から返されるルート ビューが findViewById() から返されるビューと一致しないのはなぜですか?

新人として、inflate() のいくつかの基本を理解するのに再び苦労しています。

これが私のxmlファイルです-

以下は基本的なコードです -

そして出力:


出力の 1 行目と 3 行目から、呼び出すsetContentView()と膨張するため、このメソッドの呼び出し後にビュー オブジェクトがメモリ内にあることがわかります。したがって、 を呼び出すとfindViewById()、コード ブロックで両方の時間で linearlayout View の同じオブジェクトが返されます。(ly は ly1 に等しい)

しかし、出力の2行目でLinearLayoutオブジェクトのアドレスが違うのはなぜ linear layout = android.widget.LinearLayout@41e29740 でしょうか?

これを担当するコードは -

これでルート ビューが返されると思いました。この場合は LinearLayout です。

すでに膨張していて、レイアウトに変更がない場合R.layout.activity_main(View/ViewGroup の追加も削除もしていない)、オブジェクトのアドレス (view & ly1) が一致しないのはなぜですか?

私はこれを試しました -

そしてこれを得た -

この場合、ly1 とビュー オブジェクトが同じアドレスを表すのはなぜですか?

0 投票する
2 に答える
765 参照

android - findViewById() が Null Exception をスローするのはなぜですか?

findViewById が NULL 例外をスローするのはなぜですか?レイアウトとソースコード ファイルは次のとおりです。

MainActivity のソース コードは次のとおりです。

しかし、findViewById()null が返され、その理由もわかりません。このコードはとてもシンプルです。

0 投票する
4 に答える
2819 参照

android - ViewPager で EditText を参照すると、null ポインター例外が発生します

私がやろうとしていること:

ユーザーに 3 つの異なるフラグメントにデータを入力してもらい、4 番目のフラグメントで、ユーザーはデータベースに送信する前に最初の 3 つのフラグメントに入力されたすべてのデータを確認します。

私が抱えている問題:

EditText から設定または取得しようとしたすべてのメソッドは、NullPointerException

私の質問:

私がやろうとしていることについて、あるフラグメントから EditText のテキスト値を呼び出し、ページが変更されるたびに別のフラグメントの EditText にそのテキストを設定する正しい方法は何ですか?

ノート:

複製を容易にし、コードを分析しやすくするために、各フラグメントに 1 つの EditText のみを反映するようにコードを単純化しました。

コード: