我正在为电影应用程序使用网格视图。当用户单击电影时,将显示该电影的详细信息。在此新活动中,用户可以将电影标记为收藏。我正在使用sharedPreferences来存储复选框的状态(选中或未选中时)。问题是,当我返回到网格视图以选择另一部电影以将其标记为“我的收藏”时,即使我没有明确检查这些电影,网格视图中的所有电影也都显示为“我的收藏”。拜托,这可能是造成这种行为的原因吗?以下是我的详细活动代码:
public class MovieDetails extends AppCompatActivity {
private static final String SHARED_PF_NAME = "movieSP";
private static final String CHECK_BOX_STATE = "check_state";
private SharedPreferences sharedPreferences;
CheckBox checkBox;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_details);
getSupportActionBar().setTitle("Movie Details");
/*//get values passed from main
movie = getIntent().getParcelableExtra(MainActivity.MOVIE_IN_CURRENT_CLICKED_POSITION);
// get movie id of the movie that was just passed
final int movieIdOfMovieInCurrentlyClicked= movie.getMovieid();
MainActivity(意图代码):
gridView.setAdapter(new MovieDisplayAdapter(MainActivity.this, movies));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
movieIdOfMovieInCurrentlyClicked = movies.get(position).getMovieid();
moviePosition = position;
Intent intent = new Intent(MainActivity.this, MovieDetails.class);
//When clicked, the position of the current movie
Movie movieIncurrentClickedPosition = movies.get(moviePosition);
intent.putExtra(MOVIE_IN_CURRENT_CLICKED_POSITION, movieIncurrentClickedPosition);
startActivity(intent);
}
});
}
慕码人8056858
相关分类