java - 返回ListView时如何保留最后选择的位置?
问题描述
在 Lifeview 中,当我从末尾或中间访问地址时,它会返回到第一个 Title。有什么方法可以让程序记住我来自哪里?
看这个动画例子:我输入“Main_Title_13”,当我返回时,它从“Main_Title_1”开始。
“Sub_Title_13”也会发生同样的事情:程序忘记了我来自哪里。
我的代码:
@SuppressWarnings("deprecation")
public View getView(final int position, View convertView, ViewGroup parent) {
View v = View.inflate(getApplicationContext(), R.layout.row_itme, null);
final TextView Title = v.findViewById(R.id.textView_row_imte);
final ImageView img_fav = v.findViewById(R.id.img_fav);
if (globalVar.getListType().equals("favorite") || globalVar.getListType().equals("search")) {
Title.setText(Html.fromHtml("<font color=\"#ec4f00\"><b>"+mlistItmes.get(position).getMain_Title() +"</b></font>"+ " | " + mlistItmes.get(position).getSub_Title()));
} else if (globalVar.getListType().equals("index")) {
Title.setText(mlistItmes.get(position).getMain_Title());
} else if (globalVar.getListType().equals("Sup_index")) {
Title.setText(mlistItmes.get(position).getSub_Title());
}
final String page_id = mlistItmes.get(position).getPage_id();
Typeface typeface = Typeface.createFromAsset(getApplicationContext().getAssets(), "font.otf");
Title.setTypeface(typeface);
// Title.setTextColor(Integer.parseInt(db_fav.get_text_color()));
Title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (globalVar.getListType().equals("index")) {
globalVar.setListType("Sup_index");
textView_Title.setText(mlistItmes.get(position).getMain_Title());
globalVar.setMain_Title(mlistItmes.get(position).getMain_Title());
import_Sup_listIndex(mlistItmes.get(position).getMain_Title());
} else if (globalVar.getListType().equals("Sup_index")) {
globalVar.setSub_Title(mlistItmes.get(position).getSub_Title());
Intent intpage = new Intent(MainActivity.this, com.rifai.asmaa7sna.Show_Text_Activity.class);
intpage.putExtra("page_id", page_id);
startActivity(intpage);
} else if (globalVar.getListType().equals("favorite")) {
globalVar.setSub_Title(mlistItmes.get(position).getSub_Title());
Intent intpage = new Intent(MainActivity.this, com.rifai.asmaa7sna.Show_Text_Activity.class);
intpage.putExtra("page_id", page_id);
startActivity(intpage);
} else if (globalVar.getListType().equals("search")) {
globalVar.setSub_Title(mlistItmes.get(position).getSub_Title());
globalVar.setMain_Title(mlistItmes.get(position).getMain_Title());
Intent intpage = new Intent(MainActivity.this, com.rifai.asmaa7sna.Show_Text_Activity.class);
intpage.putExtra("page_id", page_id);
startActivity(intpage);
}
}
});
Title.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
if (globalVar.getListType().equals("favorite")) {
AlertDialog.Builder build = new AlertDialog.Builder(MainActivity.this);
build.setMessage(R.string.Delete_MessagText)
.setIcon(R.drawable.icon)
.setTitle(R.string.Delete_dilogTitle)
.setPositiveButton(R.string.dilog_yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
db_fav.Delete(mlistItmes.get(position).getId(), "favorite");
import_from_favorite();
}
})
.setNegativeButton(R.string.dilog_no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//Negative
}
}).show();
}
return false;
}
});
return v;
}
}
}
如果可以的话,我希望你能帮助我
解决方案
推荐阅读
- c# - 检查网络请求是否寻址广告网站
- python - 重塑 Pytorch 张量
- javascript - 计算出现次数并创建对象
- javascript - 使用闪亮的网络应用程序生成动态图
- google-app-engine - 使用 OAuth 向 AppEngine HTTP servlet 验证 .NET 客户端
- json - JSON 返回值选择
- ruby - 你如何在 ruby 核心上运行规范?
- floating-point - 使用 MacLaurin 展开的 Fortran Sine 函数的微小差异
- delphi - DBgrid中的Delphi checkox
- python - 为什么我的代码不打印整个列表?