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を呼び出していますが、これはtrycatchブロックにあります。

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

addTextプロシージャで上記のレイアウトを拡張すると、上記でキャッチされた例外があり、実行は呼び出し元のプロシージャでキャッチに戻されます。

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

例外がスローされたときに、ex変数に何も表示されないのはなぜですか?

私は愚かなことを試みていますか?

例外の内容を確認するにはどうすればよいですか?デバッガーが例外ex変数を通過するときに、例外ex変数を調べてみましたが、何も含まれていません。プロシージャでSQLを使用していた場合。特にSQLExceptionをスローすると、エラーの説明が表示されますが、ここでは何をスローするかわかりません...?

try catch句を削除することで、LogCatでリソースが利用できない例外への参照を見つけました。しかし、try ex varでこれらの説明をどのようにキャッチしますか?特定の例外をスローする必要がありますか?

OKこれが私の答えです。変数の宣言を調べようとしていて、コードブロックに何かを入れる必要がありました。"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() はアクティビティのメソッドです

于 2012-04-28T22:04:14.870 に答える