1

ビューページャーのいくつかのフラグメントで使用されるカスタム ビューを作成しました。

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

では、いつカスタム ビューのレイアウトを拡張する必要があるのでしょうか。コードで何も解決しないと思いますが、必要に応じて配信できます。

4

2 に答える 2

1

この関数では:

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

参考はこちら

于 2011-12-28T11:36:37.233 に答える
1

ビューを含むクラスDynamicRowViewがあります。クラスを作成し、メイン ファイルでこのクラスを呼び出すことができます。

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

そして、あなたが欲しいメインクラスでこれを書きますView

dynamic_row_view = new DynamicRowView();

View view = dynamic_row_view.getView(R.layout.row_menu_list, MenuListingPage.this);
于 2011-12-28T12:36:32.213 に答える