这个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);
慕森卡
TA贡献1806条经验 获得超8个赞
您应该将最后点击项目的位置存储在活动片段中。然后,当导航回该活动时,您可以像这样在列表视图上设置位置:
listView.smoothScrollToPosition()
添加回答
举报
0/150
提交
取消