0

常に適切に反応しないボタンについて、私が何をすべきかについて誰かアドバイスはありますbutton.setVisibility (View.VISIBLE)か?

デバッガーでコードが段階的に実行されるのを見てきました。行は確実に実行されていますが、ボタンが非表示から表示に常に変化しているわけではありません。

エラー メッセージは表示されず、setVisibility()コマンドは 内で実行されていrunOnUiThread()ます。また、スレッドの管理には細心の注意を払っておりますので、コマンドが実行される前に実行されても問題はないと思います。

誰かが何か考えを持っていますか??

ありがとう、R.

非常に合理的な要求に応えて、次の説明とコードを追加します (そもそも「アルファ チャネル」とは何ですか?)

私のアプリケーションは基本的に Android SurfaceRunner です。起動時に、ボタンを定義する XML レイアウトにアクティブ サーフェスがプラグインされます。一部のボタンは SurfaceRunner の外側にあり、一部はその上にあります。私に問題を与えているのは、トップの1つです(それが重要な場合)。ただし、コードで非表示になるのはそれらだけであることも指摘しておく必要があります。非表示で開始することが問題のようです。ボタンが表示されるようになったときに問題が発生したことはありません。ところで、どのボタンも XML で非表示としてタグ付けされていません

lblButtons()ボタンの表示は、ボタンに影響を与える可能性のある何かが行われるたびに呼び出されるメソッドで処理されます。これは大量のコードなので、適切に機能しないセクションのみをここに含めます。

rtButton2.setVisibility (View.INVISIBLE);       
rtButton2.setTextColor (DF_VIEW == currState ? Color.BLACK : Color.WHITE);
rtButton2.setBackgroundDrawable (DF_VIEW == currState ? tr_black : tr_white);
if (currState == SEARCH_VIEW)
{
    rtButton2.setTextSize (24f);
    rtButton2.setText (Html.fromHtml (Integer.toString (app.currThr)));
    rtButton2.setVisibility (View.VISIBLE);
}
else if (listening) 
{
    rtButton2.setTextSize (14f);
    rtButton2.setText (Html.fromHtml (muting ? UNMUTE : MUTE));
    rtButton2.setVisibility (View.VISIBLE);
}

rtButton3.setVisibility (View.INVISIBLE);
rtButton3.setTextSize (14f);
rtButton3.setTextColor (DF_VIEW == currState ? Color.BLACK : Color.WHITE);
rtButton3.setBackgroundDrawable (DF_VIEW == currState ? tr_black : tr_white);
if (listening)
{
    rtButton3.setText (Html.fromHtml (recording ? STOP + "<br />" + RECORD : RECORD));
    rtButton3.setVisibility (View.VISIBLE);
}

「リスニング」はブール値で、「currState」は列挙状態変数です。デバッガーでこのコードを実行し、リッスンが true の場合、手順のシーケンスは本来あるべきとおりです (つまり、rtButton2 と rtButton3 の両方のメソッドとメソッドが実行されますが、2 つのボタンの可視性はまったく影響を受けませんsetText()setVisibility()

何か助けはありますか?

4

1 に答える 1

0

textColor と background を黒または白に設定しているようなもので、アクティビティまたはコンテナーの背景色と一致し、黒または白のいずれかになります..すべてが背景と一致し、見えなくなりますか?

私は、この 2 行のコードをかなり疑っています。

rtButton2.setTextColor (DF_VIEW == currState ? Color.BLACK : Color.WHITE);
rtButton2.setBackgroundDrawable (DF_VIEW == currState ? tr_black : tr_white);

ボタンのテキストと背景の色をコンテナの色と一致しないものに設定します。

よろしく、 アキフ・ハミッド

于 2012-06-29T13:56:37.737 に答える