0

私はAndroidを初めて使用します。私は自由な夏をアプリケーションの開発を試みるためにそれを研究することに費やしています。

ユーザーが操作できるように、データベーステーブルのデータをリスト(ListView)に表示する必要があります。

simpleCursorAdapterを見つけましたが、UIスレッドでクエリを実行しないようにするために非推奨として示されています。私の最初のテーブルは小さく保たれますが、おそらく問題にはなりませんが、メインテーブルでは問題になります。そこで、LoaderManagerが推奨する交換について調べました。

LoaderManagerメカニズムを理解するために、ApiDemosSDKサンプルでLoaderThrottleの例を見つけました。ApiDemos / src / com / example / android / apis / app / LoaderThrottle.java

この例を理解しようと一生懸命努力しましたが、まだ理解できない点がいくつかあります。

406行目にandroid.R.layout.simple_list_item_1とandroid.R.id.text1が見つかりませんでした:

            // Create an empty adapter we will use to display the loaded data.
        mAdapter = new SimpleCursorAdapter(getActivity(),
                android.R.layout.simple_list_item_1, null,
                new String[] { MainTable.COLUMN_NAME_DATA },
                new int[] { android.R.id.text1 }, 0);
        setListAdapter(mAdapter);

また、377行目にandroid.R.id.contentが見つかりませんでした。

        // Create the list fragment and add it as our sole content.
    if (fm.findFragmentById(android.R.id.content) == null) {
        ThrottledLoaderListFragment list = new ThrottledLoaderListFragment();
        fm.beginTransaction().add(android.R.id.content, list).commit();
    }

ApiDemosレイアウトディレクトリにsimple_list_item_1.xmlはありません。さまざまなレイアウトのtext1がたくさんありますが、どれが存在する可能性があるかはわかりませんでした。3つの「コンテンツ」が見つかりました。1つはContentBrowserActivity$Contentのタイプのcontent_browser.xmlにあります。

ですから、私が期待していたListViewとのリンクがどこにあるのかわかりません。

したがって、ListViewとアダプタの間に隠されたリンクが表示されないため、私にとってはまだ「魔法」です。

ListViewには何が含まれているはずですか?何もない?データベースから取得したデータごとに1つのTextView?

誰かがデータベーステーブルを他のすべてのApiDemosと溶けないListViewにリンクするLoaderManagerの例を持っていれば、私はそれを楽しむでしょう!

ヒントと回答を事前に感謝します、Florent

4

1 に答える 1

0

回答ありがとうございます。仕組みがよくわかるようになりました。特定のレイアウトを作成する必要はありません。

したがって、アプリケーションの残りの部分とのリンクは FragmentTabs アクティビティの 54 行目にあると思います。

bar.addTab(bar.newTab()
    .setText("Throttle")
    .setTabListener(new TabListener<LoaderThrottle.ThrottledLoaderListFragment>(
            this, "throttle", LoaderThrottle.ThrottledLoaderListFragment.class)));

ApiDemos/src/com/example/android/apis/app/FragmentTabs.java

よろしく、フロラン

于 2012-08-18T06:50:38.727 に答える