SharedPreference给了我未知的LOG

问题描述 投票:3回答:3

我正在尝试当我点击Buttom导航栏时,这个项目中的文本信息存储在prefrence中,我已经定义了一个LOG这是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}

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

android sharedpreferences logcat
3个回答
3
投票

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

问题在于以下行:

txtEmtiaz.setText();

改成:

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

日志中的问题:

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

你正在尝试打印txtEmtiaztxtEmtiaz对象,当然你不能。

您应该使用如下打印txtEmtiaz TextView的值(文本):

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

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);

    }

1
投票

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

txtEmtiaz.getText().toString()

© www.soinside.com 2019 - 2024. All rights reserved.