2013-04-22 2 views
0

У меня есть класс активности, который сканирует тег NFC и назначает его строке (эта часть работает нормально), тогда строка делится через sharedpreferences, которая затем обновляет текстовое представление (в частности,). По какой-то причине текстовое окно никогда не обновляется текстом из тега NFC. Это должна быть достаточно простая проблема для решения - я просто не могу получить данные NFC, которые назначаются строке для обновления текстового поля через sharedpreferences, и я не уверен, почему.Данные SharedPreferences все еще не обновляются TextView

CONNECT.JAVA КОД SNIPPET:

// after scanning - splitting the message by comma 
      String[]tagdata=msgtext.split(","); 

     String networkSSID = tagdata[0].toString(); 
     String networkPass = tagdata[1].toString(); 
     String time = tagdata[2].toString(); 
     String restricted = tagdata[3].toString(); 
     String corename = tagdata[4].toString(); 





     String NDEF_PREF = "prefs"; 
     SharedPreferences prefs = getSharedPreferences(NDEF_PREF, Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor=prefs.edit(); 
    // editor.putBoolean(time, true); 
     editor.putString("time", time); 
     editor.putBoolean(restricted, true); 
     editor.putBoolean(corename, true); 
     editor.commit(); 

RULES.JAVA КОД SNIPPET: (где время TextView показывается - но никогда не меняется)

String NDEF_PREF = "prefs"; 
    SharedPreferences prefs = getSharedPreferences(NDEF_PREF, Context.MODE_PRIVATE); 
    boolean name = prefs.getBoolean("name", true); 
    boolean code = prefs.getBoolean("corename", true); 
    //boolean time = prefs.getBoolean("time", true); 
    String time = prefs.getString("time", ""); 
    boolean ssid = prefs.getBoolean("restricted", true); 
    Time.setText(String.valueOf(time)); 
//String time = String.valueOf(time); 



     Intent intent2 = new Intent(Rules.this, KillTimer.class); 
     PendingIntent pintent2 = PendingIntent.getActivity(Rules.this, 0, intent2, 
       0); 
     AlarmManager alarm2 = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
       time ? 1000 : 0, pintent2); 
+0

Вы читаете другой файл SharedPreferences, чем вы пишете. –

+0

Я не понимаю ваш вышеприведенный комментарий. Но вы должны внимательно изучить, как вы открываете файлы общих настроек. Вы не указываете имя файла для одного из них. –

+0

Получил это - спасибо! –

ответ

0

editor.putString("name", name) и так далее и prefs.getString ("имя", "");

Вместо

SharedPreferences prefs=getPreferences(Context.MODE_PRIVATE);

в CONNECT.JAVA вы должны использовать

SharedPreferences prefs = getSharedPreferences(NDEF_PREF, Context.MODE_PRIVATE);

При вызове getPreferences предпочтение является частным деятельности.

+0

Я обновил свой исходный код выше, как было предложено (спасибо - это была довольно большая проблема!), Но я до сих пор не могу получить текстовое представление для обновления с новыми данными: ( –

+0

После сканирования тега NFC текстовое окно все равно не будет обновить с отсканированным текстом через SharedPreferences –

+0

Я отредактировал мой ответ –

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