2015-04-21 2 views
0

Моя проблема в том, что у меня есть кнопка, и эта кнопка делает создание нового текстового поля, но это текстовое изображение удаляет, когда я нажимаю кнопку «Назад». Как я сохранил текстовые сообщения в действии?Удаление TextViews, когда я нажимал backbutton

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

Пожалуйста, покажите нам свою реализацию onBackPressed() ... – Opiatefuchs

+0

i havent onBacPressed(). Когда я нажимаю кнопку «Назад» на текстовом изображении эмулятора, удаляем –

+0

. «TextView» находится внутри диалога? – Yurets

ответ

1

Попробуйте ввести TextView объектов ids.

Вы должны знать, что когда вы нажимаете кнопку «Назад» - по умолчанию ваша деятельность уничтожается, поэтому все виды удаляются.

При добавлении нового TextView вы должны добавить информацию об этом TextView (как и сам текст) в какой-либо список, объявленный как поле в вашей деятельности. Затем вы можете сохранить этот список, когда активность воссоздан смотрите: onSaveInstanceState/nRestoreInstanceState

Вы также можете передать этот список обратно или новый вид деятельности, чтобы они могли принять меры, основанные на этом списке.

+0

Но у меня нет списка? :/и можете ли вы написать пример для saveInstanceState? –

+0

@FurkanKELES Как работает эта деятельность? Вы нажимаете кнопку «Назад» и переходите к предыдущему экрану, а затем снова возвращаетесь к этому действию, ожидая, что появится ваш новый «TextView»? – questioner

+0

есть. У меня есть кнопка предыдущий экран, когда я нажимаю кнопку startActivity, и я иду на работу textview, но вижу чистую чрезвычайно белую страницу :( –

0

После моего понимания вашего TextView был создан внутри Dialog и после того, как вы нажмете кнопку назад диалоговые увольняет и все виды созданные вами внутри будут удалены, и вы не можете получить к нему доступ с вашего Activity.

Вы можете попытаться создать TextView в onCreate, пройти и в Dialog просто позвоните setText. Надеюсь, это тот ответ, который вы ищете. Cheers.

+0

Я не могу создать в onCreate. Я должен создать в Dialog –

+0

@FurkanKELES, к сожалению Таким образом, вы не можете получить доступ к нему изнутри. если вы уничтожаете компонент, где был создан 'view', вы уничтожите и просмотрите его. – Yurets