可能性のある複製:
Android。ボタンによって作成されたアクションが終了するまで、ボタンを押された状態に維持するにはどうすればよいですか?
ボタンがあります。ボタンを押すと、ボタンは押されたままになります(Froyoの緑色)。
助けがありますか?
mycodes_Button = (Button) findViewById(R.id.mycodes);
...
if (saved_Button.isPressed())
{
saved_Button.setFocusable(true);
}
このようなもの?
次のコードを使用します。便利です。
mycodes_Button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
mycodes_Button.setPressed(true);
return true;
}
});
カスタムの背景を持つボタンでこの問題が発生し、最終的に 選択状態 を使用することになりました。その状態は、すべてのビューで使用可能です。
これを使用するには、カスタムボタンの背景を 状態リスト として定義する必要があります。
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_selected="false" Android:state_focused="false"
Android:state_pressed="false"><bitmap ... /></item>
<item Android:state_selected="true"><bitmap ... /></item>
<item Android:state_focused="true"><bitmap ... /></item>
<item Android:state_pressed="true"><bitmap ... /></item>
</selector>
次に、その背景を使用するには、/res/drawable/button_bg.xml
レイアウトファイルで、次を使用します。
...
<Button Android:background="@drawable/button_bg" ... />
...
コードでは、onClickリスナーで(選択解除)状態に切り替えることができます。
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(true);
// normal click action here
}
});
有効化状態 は意図した意味によりよく一致しますが、Android 3.x以降でのみ利用可能です。
ToggleButton はあなたのニーズに合っていますか?
あなたのコメントから判断すると、 Touch Mode に気付いていないようです。このモードは、ほとんどのことのデフォルトであり、フォーカスはありません(あなたがしようとしているものです)達成)、選択されたアイテムはありません。
プログラムでタッチモードを終了することもできますが、お勧めしません。少し慣れると、タッチモードはユーザーにより良いエクスペリエンスを提供します。