1

我正在尝试充气

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
<Item  android:id="@+id/ltArr"
    android:layout_alignParentLeft="true"
    android:icon="@android:drawable/arrow_up_float"/>
<TextView android:id="@+id/ImText"
    android:layout_toRightOf="@id/ltArr"/>
<Item  android:layout_alignParentRight="true" 
    android:layout_toRightOf="@id/ImText"
     android:icon="@android:drawable/arrow_down_float"/>
</RelativeLayout>

在我调用 addTextView 的过程中,它位于 try catch 块中

try{
    addTextView("Showtext", intID, addtothisLayout);
    }catch (Exception ex){}

当在 addText 过程中对上面的布局进行膨胀时,上面捕获了一个异常,执行被发送回调用过程中的 catch

void addTextView(String showTxt,integer id,  ViewGroup addtoparent)
{
View itemview = View.inflate(this, R.layout.itemlayout, addtoparent); //this causes the exception
..
..
}

为什么抛出异常时我看不到 ex 变量中的任何内容?

我在尝试一些愚蠢的事情吗?

我如何查看异常的内容?当调试器通过它时,我尝试检查异常 ex 变量,但它没有任何内容。如果我在过程中使用 SQL。我会专门抛出 SQLException ,这样我就可以看到错误描述,但在这里我不知道要抛出什么......?

通过删除 try catch 子句,我在 LogCat 中找到了对资源不可用异常的引用。但是我如何在 try ex var 中捕捉这些描述?我必须抛出特定的异常吗?

好的,这就是我的答案,我试图检查变量的声明并且需要在代码块中放置一些东西。“ex.toString()”

catch (Exception ex){
            ex.toString();
        }   

感谢大家非常及时的回复。

4

2 回答 2

1

当我在 AVD 2.3.3 模拟器上运行它时,我得到:

04-28 22:03:36.537: E/AndroidRuntime(395): java.lang.RuntimeException: Unable to start  activity ComponentInfo{com.android.tests/com.android.tests.TestsActivity}: android.view.InflateException: Binary XML file line #5: Error inflating class Item

也就是说,“项目”不被识别为视图。

于 2012-04-28T22:07:12.743 回答
0

如果你想膨胀整个布局,而不仅仅是其中的一个视图,你必须使用:

getLayoutInflater().inflate(...

getLayoutInflater() 是一个 Activity 的方法

于 2012-04-28T22:04:14.870 回答