我和我的朋友正在制作一个电影库应用程序,我们遇到了一个奇怪的问题。
在我们的主活动列表中,我们有一个状态"已观看"和"未观看",该状态在我们制作的编辑活动中被选中,您可以在其中选择电影是否在广播组中观看。
但是由于某种原因,当观看电影时,有时以一种奇怪的随机方式,如果我们在编辑活动中单击该电影,它会在单选按钮上更改为已观看,反之亦然。
它不是即时的,有时它起作用,有时它会切换。
以下是状态的主活动代码:
public void onItemClick(AdapterView<?> listView, View itemView, int pos,
long id) {
Log.d(TAG, "id=" + id);
TextView statusText = (TextView) findViewById(R.id.main_list_movie_status);
String status = statusText.getText().toString();
Log.d(TAG, "status is " + status);
Intent intent = new Intent(this, ManualEditActivity.class);
intent.setAction(Intent.ACTION_EDIT);
intent.putExtra("id", id);
intent.putExtra("status", status);
startActivity(intent);
}
这是在编辑活动中接收意图的代码:
status = callIntent.getStringExtra("status");
Log.d(TAG, "status is " + status);
Log.d("checking rating2", rate + "");
if ((status).equals("Watched")) {
radioWatchYes.setChecked(true);
radioWatchNo.setChecked(false);
} else if ((status).equals("Not Watched")){
radioWatchYes.setChecked(false);
radioWatchNo.setChecked(true);
}
}
我不知道是什么导致了这种随机化。
谢谢!
如果你使用的是 Baseadapter,那么把这段代码放在 getview() 之前
@Override
public int getItemViewType(int position) {
return position;
}
@Override
public int getViewTypeCount()
{
if (list.size() > 1)
{
return list.size();
}
else
{
return super.getViewTypeCount();
}
}