我有一个代码,用于在具有共享首选项的回收器视图中单击项目时打开活动。我正试图对碎片做同样的处理。
下面是活动代码。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch(position){
case 0: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Monday").apply();
break;
}
case 1: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Tuesday").apply();
break;
}
case 2: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Wednesday").apply();
break;
}
case 3: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Thursday").apply();
break;
}
case 4: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Friday").apply();
break;
}
case 5: {
startActivity(new Intent(WeekActivity.this, DayDetail.class));
sharedPreferences.edit().putString(SEL_DAY, "Saturday").apply();
break;
}
default:break;
}
}
});
我试过把它分成碎片
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Fragment selectedFragment = null;
switch (position) {
case 0: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Monday").apply();
break;
}
case 1: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Tuesday").apply();
break;
}
case 2: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Wednesday").apply();
break;
}
case 3: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Thursday").apply();
break;
}
case 4: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Friday").apply();
break;
}
case 5: {
selectedFragment = Timetable.newInstance();
sharedPreferences.edit().putString(SEL_DAY, "Saturday").apply();
break;
}
default:
break;
}
FragmentTransaction transaction = ((AppCompatActivity) getActivity()).getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.rel_layout, selectedFragment);
transaction.commit();
}
});
我哪里出错了?我应该做哪些更改?我没有收到任何错误。与此同时,什么也没有发生。帮帮我:)