35

DrawerLayout をいじっていて、問題が発生しています。基本的に、画面の端からスワイプすると、画面から指を離すまで DrawerLayout が動かなくなることがあります (下のスクリーンショットを参照)。

何が起きているのかわかりません。Google SDK のコード サンプルに正確に従いました。何か案は?

スクリーンショットのバグ

FragmentActivity にあるのは次の 1 つだけです。

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final String[] names =
                getResources().getStringArray(R.array.nav_names);
        ArrayAdapter<String> adapter =
                new ArrayAdapter<String>(
                        getActionBar().getThemedContext(),
                        android.R.layout.simple_list_item_1, names);

        final DrawerLayout drawer =
                (DrawerLayout)findViewById(R.id.drawer_layout);
        final ListView navList =
                (ListView) findViewById(R.id.drawer);
        navList.setAdapter(adapter);
        navList.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {

            @Override
            public void onItemClick(AdapterView<?> parent,
                                    View view, final int pos, long id)
            {
                drawer.setDrawerListener(
                        new DrawerLayout.SimpleDrawerListener()
                        {
                            @Override
                            public void onDrawerClosed(View drawerView)
                            {
                                super.onDrawerClosed(drawerView);

                            }
                        });
                drawer.closeDrawer(navList);
            }
        });

    }

編集:これは非常に古い問題であり、最新の Android-X (サンプルはこちらから入手可能) で今日でも存在するため、これに報奨金を追加しています。外観は次のとおりです。

ここに画像の説明を入力

私はそれについてGoogleに報告しました(ここで、後でまたここで)、それは助けにはなりませんでした.

このスレッドで既存のすべてのソリューションを試しましたが、どれも機能しませんでした。誰かがこれに対する適切な回避策を持っている場合 (まだ DrawerLayout を使用している、またはそれを拡張している、または同様のものを使用している) 場合は、実用的な解決策を提示してください。

4

5 に答える 5

0

レイアウト xml を見せていただければ、ROOT 要素として DrawerLayout があるかどうかを確認できます。そして、内側の 2 つの子が Main Layout と Navigation Drawer であるかどうか。

引き出しレイアウトの作成によると:

ナビゲーション ドロワーを追加するには、レイアウトのルート ビューとして DrawerLayout オブジェクトを使用してユーザー インターフェイスを宣言します。DrawerLayout 内に、画面のメイン コンテンツ (ドロワーが非表示の場合のプライマリ レイアウト) を含む 1 つのビューと、ナビゲーション ドロワーのコンテンツを含む別のビューを追加します。

于 2015-09-02T14:22:02.540 に答える