单选按钮在更改活动时重置/随机化



我和我的朋友正在制作一个电影库应用程序,我们遇到了一个奇怪的问题。

在我们的主活动列表中,我们有一个状态"已观看"和"未观看",该状态在我们制作的编辑活动中被选中,您可以在其中选择电影是否在广播组中观看。

但是由于某种原因,当观看电影时,有时以一种奇怪的随机方式,如果我们在编辑活动中单击该电影,它会在单选按钮上更改为已观看,反之亦然。

不是即时的,有时它起作用,有时它会切换。

以下是状态的主活动代码:

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();
            }
        }

最新更新