【发布时间】:2016-09-28 09:25:49
【问题描述】:
代码使用 baseadapter 用项目填充列表视图。单击该项目时,它会更改背景颜色并转到下一个活动。现在我想在第一次单击时更改背景颜色,它应该保持选中状态。然后在下一次单击时,它应该转到下一个活动。有没有可能。
活动
nameList = (ListView) findViewById(R.id.list_names);
nameList.setAdapter(listAdapter);
listAdapter.notifyDataSetChanged();
nameList.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long viewId)
{
TextView PCNtv = (TextView) view.findViewById(R.id.value_Name);
String P_Name = PCNtv.getText().toString();
Intent intents = new Intent(getApplicationContext(), Activity2.class);
intents.putExtra("P_Name", P_Name);
view.setSelected(true);
startActivity(intents);
}
});
在可绘制中
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/blue_color"/>
<item android:state_pressed="true" android:drawable="@drawable/white_color"/>
<item android:state_focused="true" android:drawable="@drawable/red_color"/>
</selector>
【问题讨论】:
-
取一个计数器作为int变量,点击后增加。如果计数器为 2,则开始活动。
-
您要选择多个项目还是只选择一个项目(也就是选择新项目会导致取消选择前一个项目)?
-
@skywall 我只想选择一项。
-
@Bansal 我会努力做到的。
-
我什至不会为柜台费心。每次单击该项目时,检查 isSelected(),如果它已被选中,则转到下一个活动。