为了账号安全,请及时绑定邮箱和手机立即绑定

当我从另一个活动(玩活动)回来时,我如何保持选中状态

当我从另一个活动(玩活动)回来时,我如何保持选中状态

慕的地6264312 2022-06-23 08:52:37
这个MainActivity数据我在listview中有多个数据,列表中有大约100个数据所以我的问题是当我点击listview中的第一个项目并进入另一个活动然后我从这个活动返回到listview它很好,它从第一个显示但是当我单击列表视图中的中间或最后一个项目时,当我从该活动返回到列表视图活动时,它会转到另一个活动,它会从第一个显示我的数据,所以当我从后面的活动中返回时,我如何在列表视图中的项目上保持选中状态?final ArrayList<Data> datas = new ArrayList<Data>();       datas.add(new Data("ye_dosti",R.drawable.icons,R.raw.ye_dosti));        datas.add(new Data("ya_banday_mitti_k_banday",R.drawable.icons,R.raw.ya_banday_mitti_k_banday));        datas.add(new Data("aey_rah_e_haq_kay_shahido",R.drawable.icons,R.raw.aey_rah_e_haq_kay_shahido));        datas.add(new Data("aye_mard_e_mujahid",R.drawable.icons,R.raw.aye_mard_e_mujahid));        datas.add(new Data("aye_wattan_pyare_watten",R.drawable.icons,R.raw.aye_wattan_pyare_watten)); final dataAdapter adapter = new dataAdapter(this, datas);        ListView listView = (ListView) findViewById(R.id.listview);        listView.setAdapter(adapter);        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {                try {                    if (mInterstitialAd.isLoaded()) {                        mInterstitialAd.show();                    } else {                        Data data =datas.get(position);                        String text=data.getText().toLowerCase();                        int audioid=data.getmAudioResource();                        Intent intent =new Intent(MainActivity.this,playerActivtiy.class);                        intent.putExtra(clickvalue,text);                        intent.putExtra(audiovalue,audioid);                        startActivity(intent);                        finish();                    }
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

感谢上帝,经过长期的努力,我发现了这个,这个工作很好,只是那个代码

adapter = new dataAdapter(this, datas);
    ListView listView = (ListView) findViewById(R.id.listview);
    listView.setAdapter(adapter);
    int h1=listView.getHeight();
    listView.smoothScrollToPositionFromTop(comeback,h1,2);
    listView.smoothScrollToPosition(comeback,0);
    listView.setSelection(comeback);


查看完整回答
反对 回复 2022-06-23
?
慕森卡

TA贡献1806条经验 获得超8个赞

您应该将最后点击项目的位置存储在活动片段中。然后,当导航回该活动时,您可以像这样在列表视图上设置位置:

listView.smoothScrollToPosition()


查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信