おはよう、
前のアイテムのリストがあります。& 次へボタン。ユーザーがリストの先頭にいる場合、前へのボタンは無効になります。[次へ] をクリックすると、次のレコードに移動し、クリック ハンドラーが [前へ] ボタンを true に設定します。ただし、エミュレーターでは、有効になっているボタンは表示されません。[次へ] をクリックすると 3 番目のレコードに移動し、再びハンドラーによって [前へ] ボタンが有効に設定されますが、今回はエミュレーターで有効になります。私はここでわらをつかんでいますが、無効にして再描画する必要がありますか?? このような基本的なタスクが機能しない理由がわかりません。
XML の場合:
<Button
android:id="@+id/btn_PrevLift"
...
android:enabled="false"
android:onClick="btn_PrevLiftClick" />
ハンドラー コード内:
private void UpdateNavButtonStatus(int z)
{
...
btn_Next.setEnabled(true);
btn_Prev.setEnabled(true);
....
}
いいえ、Eclipseデバッグで変数値を見ると、有効なプロパティがどの状態でも表示されないのはなぜですか?
詳細情報 少なくとも私には非常に奇妙です。XML で定義されたイベント ハンドラーの使用から、以下のようにプログラムで定義されたものに移行すると、うまく機能します!!!???
btn_Nxt.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//Call helper methods etc...
}
});
私はそれを持っていると思いますが、正確な理由はわかりません
そのため、Button オブジェクトのハンドルを取得しようとしたときに、View.findViewById(etc) を使用していました。XML からプログラムで宣言されたイベント ハンドラーに変更したとき、ViewGroup.findViewById を使用しました。ViewGroup を使用すると xml に戻ると、動作しているように見える「異なる」ハンドルが得られます...????