在选项卡内动态添加文本视图(Android)
我正在尝试在选项卡中动态添加textview。使用此代码在选项卡内动态添加文本视图(Android),android,dynamic,tabs,textview,add,Android,Dynamic,Tabs,Textview,Add,我正在尝试在选项卡中动态添加textview。使用此代码 Oncreate() { OA.loaderShow(this); //Loader display new Thread(new Runnable(){ public void run() { Looper.prepare(); fetchDocs(); OA.loaderHide(); //L
Oncreate()
{
OA.loaderShow(this); //Loader display
new Thread(new Runnable(){
public void run()
{
Looper.prepare();
fetchDocs();
OA.loaderHide(); //Loader Hide
Looper.loop();
}
}).start();
}
fetchDocs()
{
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
TextView text = new TextView(this);
text.setText(mytext);
layout.addView(text);
}
我得到这个错误“只有创建视图层次结构的原始线程才能接触它的视图”
请帮助。将上面的内容放在下面的块中
runOnUiThread(new Runnable(){@Overridepublic void run(){//your code here}}}
将此添加到onCreate方法中,而不是从其他地方添加。尝试使用如下处理程序:
编辑:
请添加all方法代码。是否尝试将此textview添加到定义TabHost的xml中,或添加到另一个xml中?请将更多代码与尝试添加LinearLayout的xml一起发布。我收到此新错误“指定的子项已具有父项。必须先对子项的父项调用removeView()在添加TEXTVIEW之前使用layout.removeAllViews()。我只在oncreate方法中使用loader调用它。你能解释一下吗。我不知道如何使用这段代码?好的,你编辑了你的帖子。用“handler.sendMessage(handler.GetainMessage(SET_TEXTVIEW));”替换你的“fetchDocs();”将上面显示的处理程序添加到你的类中。我将编辑我的帖子。
protected static final int SET_TEXTVIEW = 0;
Oncreate()
{
OA.loaderShow(this); //Loader display
new Thread(new Runnable(){
public void run()
{
Looper.prepare();
handler.sendMessage(handler.obtainMessage(SET_TEXTVIEW));
OA.loaderHide(); //Loader Hide
Looper.loop();
}
}).start();
}
public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case SET_TEXTVIEW :
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
TextView text = new TextView(this);
text.setText(mytext);
layout.addView(text);
}
}
};