无法解析.setText

时间:2017-03-25 13:01:43

标签: android

[已解决]愚蠢的错字:此代码解决了我的问题:

dateTimeEasyText.setText ("");已更改为dateAndTimeEasyText.setText ("");

问题: 我有一个ImageView,点击它应该重置我的两个TextViews,一个包含HighScore(数字)和另一个包含Date&的TextView。时间(字符串)。

我的编码:

 public void resetHighcoreButtonEasy(View v) {
        highscoreEasyText.setText("");
        dateTimeEasyText.setText ("");

    }//resetHighcoreButtonEasy ends here

打印屏幕上的编码和信息: enter image description here

JAVA-文件:

public class HighScoreActivity extends AppCompatActivity implements View.OnClickListener {

TextView highscoreEasyText;
TextView dateAndTimeEasyText;
ImageView resetHighcoreButtonEasy;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_high_score);


    resetHighcoreButtonEasy = (ImageView) findViewById(R.id.resetHighcoreButtonEasy);


    SharedPreferences sharedPrefsEasyHighScore = getSharedPreferences("Prefs_EasyHighScore",MODE_PRIVATE);
    int storedEasyHighScore = sharedPrefsEasyHighScore.getInt("easy_highScore",0);
    highscoreEasyText = (TextView)findViewById(R.id.highscoreEasyText);
    highscoreEasyText.setText("" + storedEasyHighScore + " p");
    highscoreEasyText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.highscore_text));

    SharedPreferences sharedPrefsEasyDateTime = getSharedPreferences("Prefs_EasyDateTime",MODE_PRIVATE);
    String dateTime = sharedPrefsEasyDateTime.getString("easy_date_time", null);
    dateAndTimeEasyText = (TextView)findViewById(dateTimeEasyText);
    dateAndTimeEasyText.setText(dateTime);
    dateAndTimeEasyText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.highscore_text));

}//onCreate ends here


 public void resetHighcoreButtonEasy(View v) {
        highscoreEasyText.setText("");
        dateTimeEasyText.setText ("");

    }//resetHighcoreButtonEasy ends here

4 个答案:

答案 0 :(得分:1)

您使用了错误的变量来访问dateTimeEasyText。

根据您的声明,它被假定为dateAndTimeEasyText。

拼错了。

答案 1 :(得分:1)

只是一个错字。你有:

TextView dateAndTimeEasyText;

在您的方法中,您使用它而不使用And

dateTimeEasyText.setText ("");

您应该使用:

dateAndTimeEasyText.setText("");

所以dateTimeEasyText不是TextView,也没有方法setText(java.lang.String)

答案 2 :(得分:1)

 dateTimeEasyText  should be  `dateAndTimeEasyText`.

 dateAndTimeEasyText.setText("");

答案 3 :(得分:0)

在用于ImageView的布局xml中,resetHighcoreButtonEasy onClick应该在那里:

<ImageView
        android:id="@+id/resetHighcoreButtonEasy"
        ...
        ...
        android:onClick="resetHighcoreButtonEasy"
        ..... />

这行代码应该用于从xml

给出click事件

<强>机器人:的onClick =&#34; resetHighcoreButtonEasy&#34;

你的功能应该是公开的,并且在其中有一个参数视图,就像你已经完成的那样

public void resetHighcoreButtonEasy(查看v){