Sık sık iki düzen arasında geçiş yapmak zorundayım. Hata, aşağıda yayınlanan düzende gerçekleşiyor.
Düzenim ilk kez çağrıldığında herhangi bir hata oluşmaz ve her şey yolundadır. Daha sonra farklı bir düzen (boş bir düzen) çağırdığımda ve daha sonra düzenimi ikinci kez çağırdığımda, aşağıdaki hatayı atar:
> FATAL EXCEPTION: main
> java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
Düzen kodum şöyle:
tv = new TextView(getApplicationContext()); // are initialized somewhere else
et = new EditText(getApplicationContext()); // in the code
private void ConsoleWindow(){
runOnUiThread(new Runnable(){
@Override
public void run(){
// MY LAYOUT:
setContentView(R.layout.activity_console);
// LINEAR LAYOUT
LinearLayout layout=new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv); // <========== ERROR IN THIS LINE DURING 2ND RUN
// EDITTEXT
et.setHint("Enter Command");
layout.addView(et);
}
}
}
Bu sorunun daha önce sorulduğunu biliyorum, ama benim durumumda yardımcı olmadı.
LinearLayout
ama ekliyorsunuzTextView
. Yani düzeltin.