0

内のすべてのウィジェットを受信して​​いない私は、このような単純なレイアウトを持っていますカスタムファクトリの)。問題は、アンドロイドがレイアウト内の各ビューに対してonCreateViewを呼び出すときにボタンウィジェットコントロールを取得しないことです。活動onCreateViewレイアウト

私はonCreateView活動にログを追加したマテリアライズド・ビューは、この方法で作成されているものを見るために上書きされます:

@Override 
    public View onCreateView(View v, String s, Context c, AttributeSet as) 
    { 
     Log.i("Inflating ---> ",s); 
     return super.onCreateView(v,s,c,as); 
    } 

    @Override 
    public View onCreateView(String s , Context c, AttributeSet as) 
    { 
     Log.i("Inflating ---> ",s); 
     return super.onCreateView(s,c,as); 
    } 

しかし、私が手出力は次のようになります。

I/Inflating --->: LinearLayout 
I/Inflating --->: LinearLayout 
I/Inflating --->: ViewStub 
I/Inflating --->: ViewStub 
I/Inflating --->: FrameLayout 
I/Inflating --->: FrameLayout 
I/Inflating --->: android.support.v7.widget.FitWindowsLinearLayout 
I/Inflating --->: android.support.v7.widget.FitWindowsLinearLayout 
I/Inflating --->: android.support.v7.widget.ViewStubCompat 
I/Inflating --->: android.support.v7.widget.ViewStubCompat 
I/Inflating --->: android.support.v7.widget.ContentFrameLayout 
I/Inflating --->: android.support.v7.widget.ContentFrameLayout 
I/Inflating --->: LinearLayout 
I/Inflating --->: LinearLayout 

あなたが見ることができるようにどちらもありませんボタンやImageviewはonCreateViewメソッドに渡されるため、このビューでは何も変更することはできません。このメソッドはコンテナしか受け取っていないようですね?

なぜこのようなことが起こったか知っていれば、本当に感謝しています。

乾杯。

+0

'tools:context =" com.empresa.prueba.MainActivity "'は、あなたがトレースしているあなたのアクティビティレイアウトではなく、フラグメントレイアウトです。 – laalto

+0

いいえフラグメントを使用していません – Notbad

答えて

-2

onCreateViewライフサイクルメソッドは、レイアウトをフラグメントに設定するためのメソッドです。このライフサイクルメソッドでは、レイアウトはまだ作成されていないため、更新はできません。

ビューのラベルを更新する場合は、onViewCreatedライフサイクルメソッドで行うことができます。

+1

'android.view.LayoutInflater.Factory2#onCreateView()'を実装する 'Activity#onCreateView()'は 'Fragment#onCreateView()'と同じではありません。 – laalto