单击后退按钮时删除TextViews

时间:2015-04-21 11:48:29

标签: java android android-activity textview

我的问题是我有一个按钮,该按钮正在创建新的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();
            }
        });
    }



}

2 个答案:

答案 0 :(得分:1)

尝试提供TextView个对象ID。

当您单击后退按钮时,您需要知道 - 默认情况下,您的活动将被销毁,因此所有视图都将被删除。

当您添加新的TextView时,您应该将有关此TextView的信息(如文本本身)添加到您的活动中声明为字段的某个列表中。 然后,您可以在重新创建活动时保存此列表,请参阅: onSaveInstanceState / nRestoreInstanceState

您也可以将此列表传回或新活动,以便他们可以根据此列表执行操作。

答案 1 :(得分:0)

根据我的理解,TextView已在Dialog内创建,按下后退按钮后对话框将被删除,您在其中创建的所有视图都将被删除,您无法从Activity

您可以尝试在TextView中创建onCreate,然后通过Dialog只需致电setText。我希望这是你正在寻找的答案。 欢呼声。