我制作了一个在列表视图中连续包含大量 pdf 的 Android 应用程序。现在我想为用户提供一个功能,用户可以使用浮动操作按钮查看他/她上次查看的 PDF。该 FAB 将打开用户最后打开/学习的 PDF。但我该怎么做呢?提前致谢。任何帮助表示赞赏。现在我将在这里添加我的代码 -
public static final String mypreference = "mypref";
public static final String PDF = "pdfKey";
String a = "One";
String b = "Two";
String c = "Three";
String d = "Four";
String e = "Five";
sharedpreferences = getSharedPreferences(mypreference,
Context.MODE_PRIVATE);
if (sharedpreferences.contains(PDF)) {
}
if (list.isItemChecked(0)){
sharedpreferences = getSharedPreferences(mypreference,
Context.MODE_PRIVATE);
if (sharedpreferences.contains(PDF)) {
Intent intent = new Intent(getApplicationContext(), c2017p1.class);
startActivity(intent);
}
}
else if (list.isItemChecked(1)){
sharedpreferences = getSharedPreferences(mypreference,
Context.MODE_PRIVATE);
if (sharedpreferences.contains(b)) {
Intent intent = new Intent(getApplicationContext(), c2017p2.class);
startActivity(intent);
}
}
});
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();
if (position == 0) {
Intent intent = new Intent(getApplicationContext(), c2017p1.class);
startActivity(intent);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(PDF, a);
editor.commit();
SharedPreferences preferences = getSharedPreferences(PDF, 0);
preferences.edit().remove(b).apply();
SharedPreferences preferences1 = getSharedPreferences(PDF, 0);
preferences1.edit().remove(c).apply();
SharedPreferences preferences2 = getSharedPreferences(PDF, 0);
preferences2.edit().remove(d).apply();
SharedPreferences preferences3 = getSharedPreferences(PDF, 0);
preferences3.edit().remove(e).apply();
}
if (position == 1) {
Intent intent = new Intent(getApplicationContext(), c2017p2.class);
startActivity(intent);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(PDF, b);
editor.commit();
SharedPreferences preferences = getSharedPreferences(PDF, 0);
preferences.edit().remove(a).apply();
SharedPreferences preferences1 = getSharedPreferences(PDF, 0);
preferences1.edit().remove(c).apply();
SharedPreferences preferences2 = getSharedPreferences(PDF, 0);
preferences2.edit().remove(d).apply();
SharedPreferences preferences3 = getSharedPreferences(PDF, 0);
preferences3.edit().remove(e).apply();
}
现在我发现如果要监听一个项目,我们必须使用 list.isItemChecked(position)。但是我仍然无法决定如何从中打开这个最后查看的 PDF?我想存储最后查看的 PDF 的共享首选项索引并删除其他索引。然后单击浮动操作按钮后,它将检测上次查看 PDF 的索引,因为它将仅存储最后一个,并打开最后一个。请帮帮我。