2013-03-14 2 views
2

Я пытаюсь реализовать ListView и то, что я хочу именно:Сохранить ListView элемента

В приложении запускает, элемента из ListView в настоящее время выбирается и начинает WebView. Этот шаг сделан

Но то, что я хочу, что 2. время, когда я запустить приложение, он начнет с этого пункта и не показывать список снова. Поэтому он будет продолжать всегда начинать с того элемента, который я нажал в первый раз. Надеюсь, кто-то может показать мне учебник, за которым я могу следовать, или какое-то ключевое слово. Я попытаюсь посмотреть, смогу ли я это сделать.

* UPDATE -> Code

public class AndroidListViewActivity extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    String[] adobe_products = getResources().getStringArray(R.array.adobe_products); 

    this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products)); 

    ListView lv = getListView(); 

    SharedPreferences prefs = getSharedPreferences("PREFERENCE", MODE_PRIVATE); 
    boolean firstrun = prefs.getBoolean("firstrun", true); 

    if (firstrun) { 
      SharedPreferences.Editor editor = prefs.edit(); 
      editor.putBoolean("firstrun", false); 
      editor.apply(); 

      // listening to single list item on click 
      lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

       Intent i = new Intent(getApplicationContext(), EnkeltView.class); 
       // sending data to new activity 
       i.putExtra("url", "https://google.dk"); 
       startActivity(i); 

      } 
      });   
     } 
    // Save the state 
    getSharedPreferences("PREFERENCE", MODE_PRIVATE) 
     .edit() 
     .putBoolean("firstrun", false) 
     .commit(); 
} 

}

ответ

1

Использование SharedPreference работает как БД, но в небольшом масштабе: SharedPreference

Android документация: Эти данные будут сохраняться для всех сеансов пользователя (даже если приложение будет убит).

Так что SharedPreferences не должно быть протерто, когда устройство перезагружается или принудительно закрывается.

+0

Попробуйте поместить этот Context.MODE_PRIVATE SharedPreferences prefs = getSharedPreferences ("PREFERENCE", Context.MODE_PRIVATE); –

+0

просто попробовал, все равно ничего не происходит. – Tirolel

+1

Вы должны сохранить данные щелкнутого элемента в SharedPreference, чем запускает Activity, затем попробуйте во второй раз, чтобы запустить Activity из sharedPreference. –

0

вы можете хранить элемент в общих настройках в 1-ый раз, и во второй раз вы можете проверить, если ваш общий Предпочтение не равно нулю, то это запустите приложение с сохраненным в нем элементом.

+0

Я только что добавил код, но он действительно не меняется. он начинается еще при первом действии. – Tirolel

+0

Вы добавили намерение в создание первого действия, например if (значение из sharedPreference! = Null) {Intent intent = new Intent (first.this, second.class); startActivity (намерение);} – Priya

+0

У меня есть этот ::: if (prefs.getBoolean ("firstrun", false) == true) { \t Цель намерения = новое намерение (AndroidListViewActivity.this, EnkeltView.class); \t startActivity (намерение); } – Tirolel

Смежные вопросы