1

私はListViewとを持っていSimpleCursorAdapterます。私のコードは次のSimpleCursorAdapterようになります。

private void listenAdapterErstellen()
{
    adapter = new SimpleCursorAdapter(this, R.layout.my_listlayout, 
            MainController.getInstance().getMyCursor(db), 
            new String[] {"Foo", "Test"}, 
            new int[] {R.id.imageViewFoo, R.id.textViewTest}, 0);

    adapter2.setViewBinder(new ViewBinder() {
        public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
            if (columnIndex == 1) {
                ImageView imageView = (ImageView) view;

                String Pic = cursor.getString(1);
                if (Pic != null) {
                    File file = new File(Pic);
                    if (file.exists()) {
                        imageView.setImageBitmap(MainController.getInstance().generateBitmap(Pic, SessionActivity.this));
                    }
                } else {
                    imageView.setImageResource(R.drawable.ic_launcher);
                }
                return true;
            }
            if (columnIndex == 2) {
                ...
            }

            return false;
        }
    });
}

問題は、MainController.getInstance().generateBitmap()小さなビットマップを生成する my に多くの時間がかかることです。そのため、リストが読み込まれるまでに時間がかかります。

バックグラウンドでリストの画像を生成し、すぐにリストを表示してから写真を追加するにはどうすればよいですか?

4

2 に答える 2

0

このスレッドには、ビットマップと画像の効率的なリスト ローダーへの一般的なアプローチとなる優れたソース (github プロジェクト) へのリンクが多数含まれています。多くのメディア集約型/ネットワーク集約型プロジェクトでlazylistを使用して、非常に優れた効率的な結果を得ました。

于 2013-04-30T17:36:16.087 に答える