我的问题是我有一个按钮,该按钮正在创建新的textview但是当我点击后退按钮时,文本视图会被删除。我如何在活动中保存文本视图?
My java sourcecodes here
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notlar);
Button btnNotEkle = (Button) findViewById(R.id.btnNotEkle);
final EditText etNot = new EditText(NotEkle.this);
final LinearLayout layoutNotlar = (LinearLayout) findViewById(R.id.layoutNotlar);
final TextView tv1 = (TextView) findViewById(R.id.tvnotOrtalama);
etNot.setInputType(InputType.TYPE_CLASS_NUMBER);
AlertDialog.Builder notEkle = new AlertDialog.Builder(NotEkle.this);
notEkle.setTitle("Notunuz");
notEkle.setView(etNot);
//Positive button
notEkle.setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
tvNot = new TextView(NotEkle.this);//girelen not burdaki textview e yazdırılacak.
girilenNot = etNot.getText().toString();//Girilen notu alıyoruz
tvNot.setText(girilenNot);//girilen notu textviewa veriyoruz
notTopla += Integer.parseInt(girilenNot);//Notları topluyoruz
layoutNotlar.addView(tvNot);
count = layoutNotlar.getChildCount();
dersOrtalamaYazdir=String.valueOf(dersOrtalama());
tv1.setText("Ders Ortalamanız : "+dersOrtalamaYazdir);
dialog.cancel();
}
});
final AlertDialog notEkleCreate = notEkle.create();
btnNotEkle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
notEkleCreate.show();
}
});
}
}
答案 0 :(得分:1)
尝试提供TextView
个对象ID。
当您单击后退按钮时,您需要知道 - 默认情况下,您的活动将被销毁,因此所有视图都将被删除。
当您添加新的TextView
时,您应该将有关此TextView
的信息(如文本本身)添加到您的活动中声明为字段的某个列表中。
然后,您可以在重新创建活动时保存此列表,请参阅: onSaveInstanceState / nRestoreInstanceState
您也可以将此列表传回或新活动,以便他们可以根据此列表执行操作。
答案 1 :(得分:0)
根据我的理解,TextView
已在Dialog
内创建,按下后退按钮后对话框将被删除,您在其中创建的所有视图都将被删除,您无法从Activity
。
您可以尝试在TextView
中创建onCreate
,然后通过Dialog
只需致电setText
。我希望这是你正在寻找的答案。
欢呼声。