19

このタスクを実行するブールメソッドは見つかりませんでした。の がとして指定されたものidに変更されたかどうかを確認することで、これを行うことができますか?viewStubinflatedid

Java コード:

    protected void plantViewTree() {
    // TODO Auto-generated method stub

        ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);

            if (mViewStub is inflated) {
              //do somthing
              }else
               mViewstub.inflate();

}

eOutput のコメントを更新する

このコードによれば、 はtoast常にそのメッセージを表示します。これは、mViewStubが割り当てられているため、下にあるレイアウトfindViewByIdのビューが利用できない場合を除いて、nullになることはviewstubありません。助言がありますか。?

protected void plantViewTree() {
    // TODO Auto-generated method stub
    ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);
    if (mViewstub != null)
        Toast.makeText(getApplicationContext(), "view is inflated", 
Toast.LENGTH_LONG).show();
    else
        mViewstub.inflate();
}
4

9 に答える 9

3

グーグルからのメモ:

ViewStub が表示されるか、inflate() が呼び出されると、レイアウト リソースが膨張します。

そのため、可視性を確認できます (または、「null」かどうかを確認することもできます)。

于 2014-05-21T12:44:02.567 に答える
-1

膨張yourViewStub.visibility(View.VISIBLE)しているかどうかを確認する必要はありません。

于 2016-08-05T02:30:34.197 に答える