我知道这是一个以前曾多次被问过的问题,但我似乎无法在我的代码中解决它.我有两个按钮,当按下一个按钮时,我希望将其保持在选定状态,反之亦然.我尝试过使用setSelected和setPressed,但我似乎无法让它工作.这是我正在使用的代码:
region_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
objects = category;
adap.notifyDataSetChanged();
proximity_button.setPressed(false);
region_button.setPressed(true);
}
});
proximity_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
objects = proximity;
adap.notifyDataSetChanged();
region_button.setPressed(false);
proximity_button.setPressed(true);
}
});
Run Code Online (Sandbox Code Playgroud)
编辑: 根据评论,我需要添加我有按钮的自定义xml背景,并希望保留当前的外观.
我有button_focused,button_pressed和button_normal图像。当我按下按钮时,将button_pressed显示图像,并且与按钮按下有关的动作开始。
当我退出按下按钮时,操作继续,但是按钮返回到button_normal正在显示的图像。
如何button_pressed在整个操作期间将要显示的按钮图像设置为该图像,然后重置为该button_normal图像?
感谢您的时间
我有5个简单的按钮,我希望它们像单选按钮一样,但没有勾选框(或者他们称之为的任何东西).它们在行中对齐,我只希望一次选择其中一个,当选择一个按钮时,它必须保持其选定的样式.我的布局代码如下所示:
<Button
android:id="@+id/button1"
android:layout_width="150dp"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_margin="0dp"
android:text="@string/mybutton1" />
<Button
android:id="@+id/button2"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button1"
android:text="@string/mybutton2" />
// and so on
Run Code Online (Sandbox Code Playgroud)
我的代码:
mybtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mybtn1.setPressed(true);
}
});
Run Code Online (Sandbox Code Playgroud)
所以,我不知道我是否可以在布局或代码中执行此操作.当我点击按钮时,有没有办法让按钮保持在选定状态(和选定的样式)?此外,是否可以将事件分配给所有这些按钮?
谢谢!