首页 > 解决方案 > 返回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;
        }


    }
}


如果可以的话,我希望你能帮助我

标签: javaandroidandroid-studioandroid-activity

解决方案


推荐阅读