2013-05-24 3 views
0

Je suis nouveau au développement Android en Java, et je suis venu à la façon d'enregistrer les données d'application en classe SharedPreferences ..Ce code androïde provoque mon application crash

Lorsque vous essayez de faire cette tentative, l'application heurtes ..

ce code android java provoque l'application crash lorsque vous essayez d'enregistrer les données

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

} 

Quelqu'un peut-il me dire pourquoi aider fait cet accident de code?

+4

Pouvez-vous fournir la sortie de logcat au moment de l'accident afin que nous puissions voir la trace de la pile, etc? –

+0

Pourriez-vous également fournir votre mise en page? – BossWalrus

+0

affichez votre AndroidManifest.xml. – dannyroa

Répondre

0

vous pouvez essayer,

au lieu de ceci:

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

vous pouvez utiliser:

ed.putString("Data", tv.getText().toString()); 
Questions connexes