私はリストビューを持っています。 +200アイテムあります。すべてのページに戻るボタンのアクションバーを追加しました。快適ではありません。デバイスの戻るボタンを押すとリストビューのスクロール位置は同じ位置になりますが、ナビゲーションボタンを押すと、リストビューのスクロール位置が開始位置に移動します。戻る戻るボタンでリストビューの位置を保存するにはどうすればよいですか?リストビューのスクロール位置はナビゲーションの戻るボタンで保存されません
MainActivity.java
public class MainActivity extends AppCompatActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Car");
listView = (ListView) findViewById(R.id.Listview);
final String[] values = new String[]{"audi", "bmw", "chevrolet", "citroen", "dacia", "ferrari", "fiat", "ford", "honda", "hyundai", "jaguar", "lamborghini", "lotus", "mazda", "mercedes", "mitsubishi", "opel", "peugeot", "renault", "toyota", "END"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
listView.setAdapter(adapter);
bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigationView);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.id_motorcycle) {
Intent intentmoto = new Intent(MainActivity.this, motorcycle.class);
startActivity(intentmoto);
return true;
}
return false;
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0) {
Intent myintent = new Intent(view.getContext(), audi.class);
startActivityForResult(myintent, 0);
}
if (position == 1) {
Intent myintent = new Intent(view.getContext(), bmw.class);
startActivityForResult(myintent, 1);
}
if (position == 2) {
Intent myintent = new Intent(view.getContext(), chevrolet.class);
startActivityForResult(myintent, 2);
}
if (position == 3) {
Intent myintent = new Intent(view.getContext(), citroen.class);
startActivityForResult(myintent, 3);
}
if (position == 4) {
Intent myintent = new Intent(view.getContext(), dacia.class);
startActivityForResult(myintent, 4);
}
if (position == 5) {
Intent myintent = new Intent(view.getContext(), ferrari.class);
startActivityForResult(myintent, 5);
}
if (position == 6) {
Intent myintent = new Intent(view.getContext(), fiat.class);
startActivityForResult(myintent, 6);
}
if (position == 7) {
Intent myintent = new Intent(view.getContext(), ford.class);
startActivityForResult(myintent, 7);
}
if (position == 8) {
Intent myintent = new Intent(view.getContext(), honda.class);
startActivityForResult(myintent, 8);
}
if (position == 9) {
Intent myintent = new Intent(view.getContext(), hyundai.class);
startActivityForResult(myintent, 9);
}
if (position == 10) {
Intent myintent = new Intent(view.getContext(), jaguar.class);
startActivityForResult(myintent, 10);
}
if (position == 11) {
Intent myintent = new Intent(view.getContext(), lamborgini.class);
startActivityForResult(myintent, 11);
}
if (position == 12) {
Intent myintent = new Intent(view.getContext(), lotus.class);
startActivityForResult(myintent, 12);
}
if (position == 13) {
Intent myintent = new Intent(view.getContext(), mazda.class);
startActivityForResult(myintent, 13);
}
if (position == 14) {
Intent myintent = new Intent(view.getContext(), mercedes.class);
startActivityForResult(myintent, 14);
}
if (position == 15) {
Intent myintent = new Intent(view.getContext(), mitsubishi.class);
startActivityForResult(myintent, 15);
}
if (position == 16) {
Intent myintent = new Intent(view.getContext(), opel.class);
startActivityForResult(myintent, 16);
}
if (position == 17) {
Intent myintent = new Intent(view.getContext(), peugeot.class);
startActivityForResult(myintent, 17);
}
if (position == 18) {
Intent myintent = new Intent(view.getContext(), renault.class);
startActivityForResult(myintent, 18);
}
if (position == 19) {
Intent myintent = new Intent(view.getContext(), toyota.class);
startActivityForResult(myintent, 19);
}
}
});
}
@Override
public void onStop() {
super.onStop();
}
のAndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".audi"
android:parentActivityName=".MainActivity" />
<activity
android:name=".bmw"
android:parentActivityName=".MainActivity" />
<activity
android:name=".chevrolet"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".citroen"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".dacia"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".ferrari"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".fiat"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".ford"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".honda"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".hyundai"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".jaguar"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".lamborgini"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".lotus"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".mazda"
android:parentActivityName=".MainActivity"
/>
<activity
android:name=".mercedes"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".mitsubishi"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".opel"
android:parentActivityName=".MainActivity"/>
<activity
android:name=".peugeot"
android:parentActivityName=".MainActivity" />
<activity android:name=".renault"
android:parentActivityName=".MainActivity"/>
<activity android:name=".toyota"
android:parentActivityName=".MainActivity"/>
<activity android:name=".motorcycle">
</activity>
</application>
200 pages.java
getSupportActionBar().setDisplayShowHomeEnabled(true);
あなたは200以上のアクティビティをお持ちですか?うわー!あなたのapkのサイズは? –
わずか28 MBです。 –
私の回答を参照してください –