問題タブ [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.
java - findViewById(int) は、Android 3.1 の特定のボタンで null を返します。他のバージョンでは問題ありません。
それは私の最初の質問ですが、正しく尋ねようとしています。
タイトルにあるように、1 つのボタンでのみ、Android 3.1 でのみ findViewById(int) が null を返します。Android 2.2 でテストすると動作し、他のすべてのボタンは両方の Android バージョンで見つかります。この特定の行の前と後のボタンを見つけます。
main.xml
:
( を使用すべきではないことはわかっていますpx
が、それは私のデバイスでのみ機能するため、この場合は問題ありません。)
これまでのところ、ありがとうございました。
答え:
それは醜い以上のものであることが判明しました。このプロジェクトには複数の人が取り組んでいるため、そのうちの 1 人が layout-normal/main.xml で名前を変更したようです。3.1 より前の Android バージョンは layout/main.xml をロードするように見えますが、新しいバージョンは layout-normal/main.xml を使用します。そして、そのボタンのIDが異なる場合は理解できるので、findViewById(int)はnullを返す必要があります。
ご迷惑をおかけして申し訳ありません。コメントありがとうございます。
私の評判は100未満なので、自分の質問に答えて閉じることはできません。誰かがこの回答を投稿できれば、私はそれを受け入れます、ありがとう。
android - Android:サービスクラスでmediaControllerを使用するには?
サービスとして MediaPlayer を介してラジオを再生するアプリがあります。Service クラスで MediaController を使用することは可能ですか? 問題は、findViewById を使用できることです。
onPrepeared メソッドで LinearLayout を取得しようとしています ...
main.xml ファイル
java - 別のメソッドで findViewById 変数を使用する方法。ジャワアンドロイド
私はプログラミングに非常に慣れていないため、自分のコードが醜い場合は申し訳ありません。
表示される画像を変更する左右の矢印ボタンがある画面のようなメニューを作成しようとしています。最初の画像で左矢印が消え、最後の画像で右矢印が表示されないようにしたいと思います。
私はこれをさまざまな方法で実行しようとしましたが、常に解決できない場所で変数が必要になります。投稿されたコードでは、エラーはswitchステートメントにあり、他の方法でコード化しようとしましたが、未解決の変数エラーはonClickListenerにあります。
コーディングする必要はありません。不足している概念を教えていただければ、それについて勉強します。
ありがとう
android - findViewById を呼び出して一部のコンポーネントを見つけることができませんでした
ID が存在する場合でも、findViewById はボタンと radiusBar を取得できません。saveButton または radiusBar を開始すると、コードがクラッシュします。
活動:
xml ファイル:
私はアンドロイドが初めてです。古い学校のコメントアウト方法または ddms を使用したにもかかわらず、なぜこれが起こっているのかわかりませんでした。助けてくれてありがとう。
android - アクティビティではないクラスで EditText を動作させることができません
EditText
活動ではないクラスで働くことができません。スタック トレース エラーが発生します。
私のコードは次のとおりです。エラー行をブロック引用しました
android - ボタンへのキャストは冗長です - なぜですか?
コンパイラからのこの興味深いメッセージに出くわしましたが、なぜそれが起こっているのかわかりません。ケースはこちら
例 1。
例 2。
最初の例では、によって返されたオブジェクトを to にキャストする必要がありfindViewById
ますButton
。Button
2 番目の例では、別のクラス オブジェクトを使用していないため、返されたオブジェクトをキャストする必要はありません。経由でキャストしようとすると
警告が表示されCasting findViewById(R.id.someButtonId) to Button is redundant
ます。
なぜこうなった?キャスト警告を削除しようとしていません。この背後にあるロジックと、 によって返されたオブジェクトで別のオブジェクトを初期化しようとしない場合、キャストが必要ない理由を知りたいですfindViewById
。
android - Android:膨らんだカスタムコンポーネント内からxmlリソースにアクセスする方法
私はAndroidにかなり慣れていないので、Androidアプリケーションでカスタムコンポーネントを作成しようとしています。これを行うために、FrameLayoutを拡張して、カスタムコンポーネントをビューの上部にあるスピナーで構成できるようにします(最終的にはビューに描画しますが、現時点では空白になっています)。
FrameLayoutを拡張するクラス内で、xmlにレイアウトしたスピナーボタンを設定したいと思います。ただし、そのクラス内からfindViewByIdを呼び出すと、nullが返されます。ここで同様の問題に対する回答を読んだところ、アクティビティからfindViewByIdを呼び出す必要があることがわかりました(実際、アクティビティを拡張するクラスからスピナーを設定すると、すべてが正常に機能します)。その場合の解決策の1つは、FrameLayoutクラスのコンストラクターにアクティビティを渡すことです。ただし、layoutinflaterを使用して膨らませるため、FrameLayoutクラスのコンストラクターを自分で呼び出すことはありません。レイアウトインフレーターがFrameLayoutクラスのコンストラクターを呼び出していると思いますが、コンストラクター呼び出しに引数を追加する方法がわかりません。
誰かが私が間違っていること、または私がこれにどのように取り組むべきかを教えてもらえますか?
これが私のコードの簡略化されたバージョンです:
私のカスタムFrameLayoutクラス:
私の活動クラスは巨大ですが、オシリスコープはボタンを押すと膨らむので、関連するセクション(私は思う)は次のとおりです。
これが私のメインプログラムによって膨らまされた私のOscilloscope.xmlファイルです:
そして、これが私のmain.xmlの関連ビットです:
うまくいけば、それはある程度意味があります。任意の洞察をいただければ幸いです。
トム
android - findViewById が null を返す - Android - setContentView
レイアウトの作成に苦労しています。私の状況はこれです:
私はActivity
実行し、通常と風景の両方に定義されたレイアウトを持っていますが、onCreate()
.
onCreate()
私は呼び出しを行い、setContentView(my_normal_layout)
多くのなどを使用して追加され、addView()
正常に動作します。ただし、ランドスケープレイアウトも構築しようとしていますfindViewById()
が、レイアウトファイルの一部であるベースレイアウトを取得しようとすると、res/layout-land
が返されるという問題がありますnull
。
今、私はヌルリターンの問題を抱えている人々のための解決策を見てきましたが、人々はそれをsetContentView
最初に実行する必要があることを示唆しています. ただし、コンテンツ ビューを横向きのレイアウトに設定したくありません。画面が回転したときにのみ発生させたいのです (これは自動的に行われますか?)。
findViewById
コンテンツビューとして設定されていないビューを使用および変更するというこの問題を回避する方法を知っている人はいますか?
必要なコード行を投稿できますが、説明が十分であることを願っています。ありがとう、
ジョシュ
java - どのチェックボックスが選択されているかを確認する
1 ページに 50 個以上のチェックボックスがあるプログラムを入手しました。そして、どのボックスが選択されているかを確認する必要があります。
私はこのようなことができることを知っています:
しかし、50 個を超えるチェックボックスでこれを行う必要がある場合は、時間がかかります。どちらが選択されているかを確認するためのより速い方法はありますか? 何かのようなもの:
また、1 つ以上のチェックボックスを選択できます。私が何を意味するか知っていることを願っています。
すでにありがとう、Bigflow
button - ボタンで満たされたライナーレイアウトのタッチリスナーを追加する
スワイプ ジェスチャに応答するタッチ イベントをリニア レイアウトに追加したところ、うまく機能しました。ただし、レイアウトにボタンを追加すると、親ライナー レイアウトは無視されます。これを防ぐにはどうすればよいですか?
使い方はonInterceptTouch
?