0

私はJavaを使用したAndroid開発は初めてで、アプリケーションデータをSharedPreferencesクラスに保存する方法にたどり着きました..

この試みをしようとすると、アプリがクラッシュします..

この Android Java コードにより、データを保存しようとするとアプリがクラッシュします

package com.example.savedata;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {
SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    TextView tv;
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sp = getSharedPreferences ("MYFILENAME",MODE_PRIVATE);
    tv = (TextView)findViewById(R.id.txtData);
    tv.setText(sp.getString("Data","0"));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
public void saveDate(View v){
    sp = getSharedPreferences("MYFILENAME", MODE_PRIVATE);
    TextView tv;
    SharedPreferences.Editor ed = sp.edit();
    tv = (TextView)findViewById(R.id.txtData);
    ed.putString("Data", (String) tv.getText());
    ed.commit();
}

}

このコードがクラッシュする理由を教えてくれる人はいますか?

4

1 に答える 1

0

あなたはこれを試すことができます、

これの代わりに:

ed.putString("Data", (String) tv.getText());

あなたが使用することができます:

ed.putString("Data", tv.getText().toString());
于 2013-05-27T13:36:31.283 に答える