1

私は、ビューページャのいくつかのフラグメントで使用されるカスタムビューを作成しました。カスタムビューのレイアウトをいつ膨張させる必要がありますか?

ビューは、常にフラグメントのフィールドとして格納されます。私はコンストラクタ内のレイアウトを膨らませ、すべてがページをめくってうまく動作します。常に次のフラグメントが作成されるため、ビューは問題なく表示されます。しかし、私が元に戻すと、フラグメントのビューが再作成され、コンストラクターが呼び出されないので、私はまだ膨張していない同じカスタムビューを使用するため、エラーが発生します。

だから、いつカスタムビューのレイアウトを膨らませる必要がありますか?私はコードが何かをクリアするとは思っていませんが、必要に応じて配信することができます。この機能で

答えて

1

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.game_menu, menu); 
    return true; 
} 

参照が、私はビューを含むクラスDynamicRowViewを持ってHERE

+0

。メニューではありません。質問を正しく読んだり、適切な質問に回答してもよろしいですか? – user1014917

+0

メニューがない場合、コンストラクタ上のinflateコード(私はoncreateと仮定します)が動作しなければなりません。 – vgonisanz

+1

常にアクティビティは破棄され、戻ったときに再び作成されます。オリエンテーションをオンにして、onDestroyに行き、再び作成した場合と同じですか?コンストラクタは – vgonisanz

1

です。あなたは、クラスを作成し、メインのファイルにこのクラスを呼び出すことができます。

public class DynamicRowView 
{ 
    public View getView(int layout_id,Activity context) 
    { 
     View view = null; 
     view = context.getLayoutInflater().inflate(layout_id, null); 
     return view; 
    } 
} 

、あなたがViewをしたい、あなたのメインクラスでこれを書く:私は通常のCustomViewについて話しています

dynamic_row_view = new DynamicRowView(); 

View view = dynamic_row_view.getView(R.layout.row_menu_list, MenuListingPage.this); 
関連する問題