Meesage не появляется при запуске приложения? - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно установить сообщение при запуске приложения, которое я получаю из базы данных. я получаю данные из базы данных и должен показывать их при запуске приложения, но он показывает только «msg0».
Я не понимаю, где проблема в моем коде. Пожалуйста, дайте мне подсказку и ссылку.
Вот мой код для справки ..

Random r = new Random();
  SharedPreferences pref =    getPreferences(Context.MODE_PRIVATE);
  Editor ed =pref.edit();
  final List<ObjectiveWiseQuestion> LocWiseProfile= db.getAllTipsNTricks();

  for (final ObjectiveWiseQuestion cn : LocWiseProfile)
  {
     for( i=0;i<=counter;i++)
     {
         ed.putString("i",cn.getTips());
         // ed.putString("0",cn.getTips());
     } 

      ed.commit();
  }
  String msg = pref.getString(r.nextInt(i)+"", "none");
  Toast.makeText(this, msg, Toast.LENGTH_LONG ).show();
}
catch(Exception e)
{
  e.printStackTrace();
}

Заранее спасибо ....

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

значения перезаписываются, поэтому следуйте примеру user370305, но есть некоторые проблемы, которые все еще существуют, проблема связана с тем, что вы выбираете значения предпочтений, так как String msg = pref.getString (r.nextInt (i) + "", "никто");за пределами внутреннего цикла for, поэтому я предполагаю, что i также объявлен вне цикла for, который нигде не изменяется, поэтому внешний цикл будет показывать только значение i, которое объявлено вне предоставленного вами блока, что, я думаю,это поле класса

0 голосов
/ 30 марта 2012

Если я не ошибаюсь, вы перезаписываете значения в редакторе общих предпочтений.

Должно быть,

for( i=0;i<=counter;i++)
     {
         ed.putString(""+i,cn.getTips());
         // ed.putString("0",cn.getTips());
     } 
...