2017-03-25 98 views
0

[解決]傻錯字:此代碼解決我的問題:無法解析.setText

dateTimeEasyText.setText ("");改爲dateAndTimeEasyText.setText ("");

問題: 我有上單擊應該重置我的兩個TextViews的,一個包含高分(數字)和含日期&時間(字符串)其他的TextView的ImageView的。

我的編碼:

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

    }//resetHighcoreButtonEasy ends here 

PRINTSCREEN在編碼和消息: 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 
+0

寫dateAndTimeEasyText.setText( 「」);而不是dateTimeEasyText。setText(「」); –

+0

你正在使用錯誤的變量名稱 –

+0

這就是說,這個問題應該被關閉,因爲它沒有給出SO – fillobotto

回答

1

您正在使用錯誤的變量訪問dateTimeEasyText。

根據你的聲明它假設是dateAndTimeEasyText。

拼寫錯誤。

+0

非常感謝你....!這是因爲這個方法啓動了它:'dateAndTimeEasyText =(TextView)findViewById(dateTimeEasyText)' - 它不允許我將它命名爲''dateTimeEasyText'',因此我將它改爲'「dateAndTimeEasyText」'並且忘記了它。 ... Geeez! -.-' –

1

只是一個錯字。您有:

TextView dateAndTimeEasyText; 

而且在你的方法,你不需要使用And

dateTimeEasyText.setText (""); 

你應該使用:

dateAndTimeEasyText.setText(""); 

所以dateTimeEasyText不是一個TextView,這不是招」 t得到了一個方法setText(java.lang.String)

+0

非常感謝你....!這是因爲這個方法啓動了它:'dateAndTimeEasyText =(TextView)findViewById(dateTimeEasyText)' - 它不允許我將它命名爲'「dateTimeEasyText」',因此我將它改爲'「dateAndTimeEasyText」'並且忘記了它.... Geeez! -.-' –

1
dateTimeEasyText should be `dateAndTimeEasyText`. 

dateAndTimeEasyText.setText(""); 
+0

非常感謝你....!這是因爲這個方法啓動了它:'dateAndTimeEasyText =(TextView)findViewById(dateTimeEasyText)' - 它不允許我將它命名爲'「dateTimeEasyText」',因此我將它改爲'「dateAndTimeEasyText」'並且忘記了它.... Geeez! -'-' –

+0

所以你可以接受ans –

0

在爲ImageView的resetHighcoreButtonEasy的onClick佈局文件應該有:

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

這行代碼應該有從XML給Click事件

安卓的onClick = 「resetHighcoreButtonEasy」

而且你的函數應該是公開的,並且有一個參數視圖,就像你已經做的那樣

公共無效resetHighcoreButtonEasy(視圖v){

+0

IT已經在那裏交配。只是一個錯字......愚蠢的一個。 –