应用程序启动时不显示消息?

时间:2012-03-30 09:54:52

标签: android message startup

我需要在应用程序启动时设置消息,我从数据库中获取。我从数据库中获取数据,需要在应用程序启动时显示它,但它只显示“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 :(得分:0)

如果我没有错,那么你就是在共享偏好编辑器中编写值。

应该是,

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

答案 1 :(得分:0)

值正在被覆盖,所以请遵循user370305的方式,但是仍然存在一些问题,问题是由于您正在获取首选项的值,如String msg = pref.getString(r.nextInt(i)+“”,“没有”);在for for循环之外,所以我假设我已经在for循环之外被声明,这在任何地方都没有被改变,所以外循环只会显示i值,这是在你提供的块之外声明的,我认为是班级的领域