2013-05-24 2 views
0

Я новичок в андроида разработки с использованием Java, и я пришел к тому, как сохранить данные приложения в классе SharedPreferences ..Этот андроид код вызывает мое приложение к сбою

При попытке сделать эту попытку, приложение .. вылетает

этот андроид код 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

Можете ли вы обеспечить вывод LogCat в момент аварии, чтобы мы могли см. трассировку стека и т. д.? –

+0

Не могли бы вы также указать свой макет? – BossWalrus

+0

покажите свой AndroidManifest.xml. – dannyroa

ответ

0

вы можете попробовать это,

вместо этого:

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

вы можете использовать:

ed.putString("Data", tv.getText().toString()); 
Смежные вопросы