Java 我的线性布局只闪现背景色,而不是在Android中持久化
我有一个可点击的线性布局列表的回收视图。一旦被选中,我想改变背景颜色,但我很难做到这一点。使用我现在的代码,选定的linearlayout只会闪烁一种颜色,然后恢复为白色/透明。 如何使其在选定后颜色保持不变 xml: 谢谢!如果你需要更多信息,请告诉我Java 我的线性布局只闪现背景色,而不是在Android中持久化,java,android,android-studio,Java,Android,Android Studio,我有一个可点击的线性布局列表的回收视图。一旦被选中,我想改变背景颜色,但我很难做到这一点。使用我现在的代码,选定的linearlayout只会闪烁一种颜色,然后恢复为白色/透明。 如何使其在选定后颜色保持不变 xml: 谢谢!如果你需要更多信息,请告诉我 (这是什么)关于LinearLayout set LinearLayout.setSelected的onClick方法(true) 如果已将clicklistener设置为LinearLayout,请使用以下代码段: @Override p
(这是什么)关于LinearLayout set LinearLayout.setSelected的onClick方法(true) 如果已将clicklistener设置为LinearLayout,请使用以下代码段:
@Override
public void onClick(View view) {
view.setSelected(true)
//Your code
}
谢谢因此,这确实对项目进行了着色,但有没有办法强制一次只选择其中一个项目?因为如果我单击第二个布局,它们都是彩色的,并且我只希望一次选择其中一个。如果当前单击的视图不等于先前选择的视图,则必须维护先前选择的视图,并调用setSelected(false)。上一个视图第一次将为空。因此,检查null并调用setSelected(false)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Active Row-->
<item android:state_selected="true" android:state_focused="false"
android:state_pressed="false" android:drawable="@color/colorAccent" />
<!-- Pressed Row -->
<item android:state_pressed="true" android:drawable="@color/colorPrimaryDark" /> />
private final View.OnClickListener mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
DummyContent.DummyItem item = (DummyContent.DummyItem) view.getTag();
if (mTwoPane) {
Bundle arguments = new Bundle();
arguments.putString(ItemDetailFragment.ARG_ITEM_ID, item.id);
ItemDetailFragment fragment = new ItemDetailFragment();
fragment.setArguments(arguments);
mParentActivity.getSupportFragmentManager().beginTransaction()
.replace(R.id.item_detail_container, fragment)
.commit();
} else {
@Override
public void onClick(View view) {
view.setSelected(true)
//Your code
}