SharedPreference给了我未知的日志

时间:2018-09-03 07:41:57

标签: android sharedpreferences logcat

当我点击Buttom Navigation Bar时,我试图 此项目中的文本信息存储在首选项中,并且我已经定义了LOG 这是显示的日志信息 我做了很多研究,但是没有得到正确的答案。

这是单击时导航项中的代码:

        case R.id.navigation_gift:
 
//********************************************************************************************
          View view = View.inflate(getApplicationContext(), R.layout.section_fragment_69, null);
          TextView txtEmtiaz = (TextView) view.findViewById(R.id.txtEmtiaz);
          SharedPreferences sp = getSharedPreferences("entire", 0);
          txtEmtiaz.setText(sp.getString("tik", ""));
          Log.e("POPI", "txt in main2 :" + String.valueOf(txtEmtiaz));

这是LOG信息,我不明白LOG在说什么:

/POPI: txt in main2 :android.widget.TextView{1e42d479 V.ED.... ......ID 0,0-0,0 #7f09016d app:id/txtEmtiaz}

我不想告诉发生了什么事。我想知道每个单词和数字的含义。

3 个答案:

答案 0 :(得分:3)

您需要从txtEmtiaz获取文本,然后将其设置为sp共享首选项。

问题在下面的行:

txtEmtiaz.setText();

更改为:

sp.putString("tik", txtEmtiaz.getText());

日志问题:

  Log.e("POPI", "txt in main2 :" + String.valueOf(txtEmtiaz));

您正在尝试打印txtEmtiaz,即txtEmtiaz对象,但您当然不能打印。

您应使用如下所示的方法来打印txtEmtiaz TextView的值(文本):

  Log.e("POPI", "txt in main2 :" + txtEmtiaz.getText());

答案 1 :(得分:2)

尝试一下

您正在使用没有名称的SharedPreference。

尝试使用以下名称的SharedPreference:

设置首选项中的值

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "HD");

 editor.apply();

从偏好设置中检索数据:

    SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
    String restoredText = prefs.getString("text", null);
    if (restoredText != null) {
      String name = prefs.getString("name", "HD");
     txtEmtiaz.setText(name);

    }

答案 2 :(得分:1)

您正在尝试打印TextView。您要打印TextView的内容,请使用:

txtEmtiaz.getText().toString()