首页 新闻 会员 周边 捐助

新手学android敲视频教程代码遇到问题,请大神帮忙看看~!多谢了

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-13 10:42

Run as android application后弹出如上界面:

鼠标点击后,界面弹出:

LOGCAT打印如下异常:

02-16 06:14:12.589: E/InputEventReceiver(798): Exception dispatching input event.
02-16 06:14:12.589: E/MessageQueue-JNI(798): Exception in MessageQueue callback: handleReceiveCallback
02-16 06:14:12.734: E/MessageQueue-JNI(798): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
02-16 06:14:12.734: E/MessageQueue-JNI(798):  at android.view.ViewGroup.addViewInner(ViewGroup.java:3378)
02-16 06:14:12.734: E/MessageQueue-JNI(798):  at android.view.ViewGroup.addView(ViewGroup.java:3249)
02-16 06:14:12.734: E/MessageQueue-JNI(798):  at android.view.ViewGroup.addView(ViewGroup.java:3225)

问题补充:

代码如下:

//生成一个Layoutinflater对象
     LayoutInflater layoutInflater = LayoutInflater.from(this.getContext());
     //使用LayoutInflater对象根据一个布局文件生成一个View对象
     View layoutView = layoutInflater.inflate(R.layout.dialog, null);
     //从生成好的TextView中,取出相应的控件
     TextView textView = (TextView)layoutView.findViewById(R.id.usedTextid);
     //设置TextView的内容
     textView.setText(sb.toString());
     //生成一个对话框的Builder对象
     AlertDialog.Builder builder = new AlertDialog.Builder(this.getContext());
     //设置对话框索要显示的内容
     builder.setView(textView);
     //生成对话框对象并将其显示出来
     AlertDialog dialog = builder.create();
     dialog.show();

 

布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
   
  <TextView
      android:id="@+id/usedTextid"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/hello_world"/>
 
</LinearLayout>

老_歪的主页 老_歪 | 初学一级 | 园豆:193
提问于:2014-02-16 14:23
< >
分享
最佳答案
1

我也遇到过这个问,基本意思是,view已经有父view。不能简单的把它放到另一个容器里。只能通过remove释放掉才能用。

收获园豆:10
angelshelter | 大侠五级 |园豆:9914 | 2014-02-16 22:22

如何remove?能具体点吗 我在代码里试了好几个remove也不行啊

老_歪 | 园豆:193 (初学一级) | 2014-02-18 20:46

请问remove方法怎么用啊

 

lilinxiao | 园豆:202 (菜鸟二级) | 2014-11-25 14:38

@老_歪: 将builder.setView(textView);中的textView改成layoutView就行了,因为textView只是layoutView中的文本显示,但不是真正的layout布局。

lilinxiao | 园豆:202 (菜鸟二级) | 2014-11-25 15:17
其他回答(1)
0

请问这个问题你解决了吗,急求答案

lilinxiao | 园豆:202 (菜鸟二级) | 2014-11-25 14:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册