テキストがあります。テキストがあります。以下はEditTextで、Buttonを押してTextViewフィールドを変更します。前のカードに戻ってテキストを変更したカードに戻ると、以前に変更されたテキストは保存されませんでした。 TextViewの変更されたテキストが次の編集まで永久に存在するようにしたいと思います。TextViewで文字列を設定して保存する方法は?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.change_url);
button1 = (Button) findViewById(R.id.button9);
button2 = (Button) findViewById(R.id.button10);
devices = (TextView) findViewById(R.id.textView);
buildings = (TextView) findViewById(R.id.textView4);
ed1 = (EditText) findViewById(R.id.devices);
ed2 = (EditText) findViewById(R.id.buildings);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String niu = ed1.getText().toString();
devices.setText(niu);
}
});
}
は私がSharedPreferencesとonSaveInstanceState、onRestoreInstanceStateを使用して記事をたくさん見てきましたが、私はそれらを適切に使用する方法がわかりません。誰かが最初に記述した結果を得るために自分のコードを作ることができますか?私はこのように私のコードを編集し、長い時間のためにそれに座って答えた後、何の効果
を持っていないしてきた:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.change_url);
button1 = (Button) findViewById(R.id.button9);
button2 = (Button) findViewById(R.id.button10);
devices = (TextView) findViewById(R.id.textView);
buildings = (TextView) findViewById(R.id.textView5);
ed1 = (EditText) findViewById(R.id.devices);
ed2 = (EditText) findViewById(R.id.buildings);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String niu = ed1.getText().toString();
devices.setText(niu);
}
});
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String niu2 = ed2.getText().toString();
devices.setText(niu2);
}
});
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("TEXT", (String) devices.getText());
outState.putString("TEXT2", (String) buildings.getText());
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
devices.setText(savedInstanceState.getString("TEXT"));
buildings.setText(savedInstanceState.getString("TEXT2"));
}
それはなぜ働くdoesntの?
あなたの体はあなたのためにコードを作成しません。あなたは参考文献から学ばなければなりません。 – androidnoobdev
「前のカードに戻り、テキストを変更したカードに戻ると、「これはどういう意味ですか? 2つの活動があることを意味しますか? –
はい、私は2つの活動を意味しました – Torwopik