0

ここで見つけたLazyList(LL)とUniversal Image Loader(UIL)の両方をテストしています。また、JSONドキュメントからロードするURLを取得するためのいくつかの変更を正常に行いました。JSONはFlickrからのものです。JSONからURL (写真を取得するため)と、タイトル説明、作成などのデータを取得しました。これらの画像読み込みツールを使用する前に、次のようなSimpleAdapterを使用してデータをビューに渡しました。

    // Hashmap for ListView        
    ArrayList<HashMap<String, String>> itemsList = new ArrayList<HashMap<String, String>>();

次に、JSON DATAをitemsListに入れるコード、次に

        ListAdapter adapter = new SimpleAdapter(this, itemsList,
            R.layout.item,
            new String[] { TAG_TITLE, TAG_DESCRIPTION, TAG_AUTHOR }, new int[] {
                    R.id.title, R.id.description, R.id.author });

    setListAdapter(adapter);

    // selecting single ListView item
    ListView list = getListView();


    // Launching new screen on Selecting Single ListItem
    list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            // getting values from selected ListItem
            String title = ((TextView) view.findViewById(R.id.title)).getText().toString();
            String description = ((TextView) view.findViewById(R.id.description)).getText().toString();
            String author = ((TextView) view.findViewById(R.id.author)).getText().toString();

            // Starting new intent
            Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
            in.putExtra(TAG_TITLE, title);
            in.putExtra(TAG_DESCRIPTION, description);
            in.putExtra(TAG_AUTHOR, author);
            startActivity(in);
        }
    });

このガイドに従ってください。コードをLLまたはUILとマージしようとしたので、機能させることができません。

これらのイメージローダーは、GetWiewメソッドで独自のアダプターを使用します。最後に、ここに質問があります。 自分の動的データをアダプターに渡すにはどうすればよいですか?


より明確にするために、下の写真の「アイテムX」ではなく、写真の右側にタイトル説明著者などの情報を表示したいと思います。

LazyListの例

4

1 に答える 1

2

カスタムアダプタを使用する:

public class MySimpleAdapter extends SimpleAdapter {

    private List<String> mImageUrls;

    public MySimpleAdapter(Context context, List<? extends Map<String, ?>> data, List<String> imageUrls, int resource, String[] from, int[] to) {
        super(context, data, resource, from, to);
        mImageUrls = imageUrls;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);

        ImageView imageView = view.findViewById(R.id.my_image);
        ImageLoader.getInstance().displayImage(mImageUrls.get(position), imageView);

        return view;
    }
}

imageUrlsそしてコンストラクターに渡します。

于 2012-11-28T20:00:08.237 に答える