2014-03-01 29 views
0

我發現另一個帖子上我的問題的一個很好的解決方案(Save entered text in editText via buttonEditText手機內存?

但是,當我實現此代碼時,我的應用程序崩潰。任何意見將不勝感激,我收到的錯誤是方法makeTag()中的「字符串或」不使用。請看看

private Button savenotebutton1; 
private SharedPreferences savednotes; 
private EditText editText1; 


protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.x1); 

    savenotebutton1 = (Button) findViewById(R.id.savenotebutton1); 
    editText1 = (EditText) findViewById(R.id.noteEditText1); 
    savednotes = getSharedPreferences("notes",MODE_PRIVATE); 

    editText1.setText(savednotes.getString("tag", "Default Value")); //add this line 

    savenotebutton1.setOnClickListener(saveButtonListener); 
} 

private void makeTag(String tag){ 
    String or = savednotes.getString(tag, null); 
    SharedPreferences.Editor preferencesEditor = savednotes.edit(); 
    preferencesEditor.putString("tag",tag); //change this line to this 
    preferencesEditor.commit(); 
} 

public OnClickListener saveButtonListener = new OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
     if(editText1.getText().length()>0){ 
     makeTag(editText1.getText().toString());  

     ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editText1.getWindowToken(),0); 

     } 
    } 
}; 

}

+0

請發佈您的logcat錯誤 –

+0

嘗試將此字符串或= savednotes.getString(tag,「」);'轉換爲您的makeTag –

+0

進程(1411):發送信號。 PID:1411 SIG:9 :W/dalvikvm(1451):threadid = 1:以未捕獲異常退出的線程(group = 0xb3ae8ba8) 4:E/AndroidRuntime(1451):致命例外:main :E/AndroidRuntime(1451 ):進程:com.example.savingtext,PID:1451 03-01 06:36:14.264:E/AndroidRuntime(1451):java.lang.RuntimeException:無法實例化活動ComponentInfo {com.example.savingtext/com。 example.savingtext.MainActivity}:java.lang.ClassNotFoundException:找不到類 – user3368012

回答

2

此時應更換此

String or = savednotes.getString(tag, null); 

隨着

String or = savednotes.getString("tag", "Default Value") 

在您makeTag()功能

更新:錯誤與你沒有註冊您的活動到manifest.xml文件。