Мне нужна помощь, чтобы правильно настроить настройки.с использованием настроек - мой список пуст (не может хранить данные)
У меня есть моя основная деятельность, с которой нажатием кнопки меню я перехожу к активности предпочтений. Там у меня есть 3 записи, в которые пользователь вводит свои данные. Первая запись - это серийный номер.
Я хочу, чтобы показать список со всеми серийными номерами, и когда пользователь его выбирает, покажите ему другие записи (или сделайте некоторые вычисления).
---------- ОБНОВЛЕНО ----------------------------------- -
Моя основная деятельность:
public class Strength extends Activity implements OnClickListener{
View goto_list;
SharedPreferences mypref;
String [] values=new String [100];
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Set up click listeners
goto_list=(View) findViewById(R.id.goto_list);
goto_list.setOnClickListener(this);
//Setup preferences
mypref= PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor prefsEditr=mypref.edit();
final Integer counter =values.length;
prefsEditr.putInt("size", counter);
for (int i=0;i<counter;i++) {
prefsEditr.putString("serial_number"+i, values[i]);
}
prefsEditr.putString("date", "");
prefsEditr.putString("strength", "1.0");
prefsEditr.commit();
}
Моя goto_list деятельность, которая будет показывать ListView с серийными номерами:
public class goto_list extends ListActivity {
private final String TAG="list";
SharedPreferences mypref;
String[] listItems = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
mypref= PreferenceManager.getDefaultSharedPreferences(this);
final Integer counter = mypref.getInt("size",0);
listItems=new String[counter];
for (int i=0;i<counter;i++) {
listItems[i] = mypref.getString("serial_number"+i, "");
}
//what to do with ArrayAdapter?
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,listItems);
setListAdapter(adapter);
}
protected void onListItemClick(ListView l, View v, int position, long id) {
Log.i(TAG, "position: " + position);
Log.i(TAG, "item: " + listItems[position]);
mypref.edit().putString("serial_number", listItems[position]).commit();
String item = (String) getListAdapter().getItem(position);
Intent i=new Intent(this,calcs_strength.class);
startActivity(i);
finish();
}
Итак, моя проблема заключается в том, что ListView является empty.It шоу нет данных.
Спасибо!
: Здравствуйте, 1) я сделал "putFloat (" сила "-1.0f)", но по-прежнему same..As для (2) Я прошу этого. Пользователь вводит некоторый вход. Как я могу использовать этот вход? (Например, он вводит «serial_number». Как я буду использовать это значение в своем приложении? Вот почему я пытаюсь сделать «String serial_number = mypref.getString ("serial_number", ""); "но я не уверен. Что касается (3) в коде выше (последний), я хочу поместить в значения" String "все значения (serial_number) из пользовательского ввода, чтобы показать их в списке. Наконец, отметьте комментарии внутри «protected void onListItemClick ..» в том же коде (последний). Спасибо – George
Чтобы прочитать/записать значения из/в SharedPreferences, создайте новую SharedPreferences объект, вот урок: http://android-er.blogspot.com/2011/01/example-of-using-sharedpreferencesedito.html Это должно ответить 2) и 3) :) – Force
Также посмотрите на разработчиков page: http://developer.android.com/reference/android/content/SharedPreferences.html – Force