【问题标题】:How can I add an ImageView to an ArrayAdapter?如何将 ImageView 添加到 ArrayAdapter?
【发布时间】:2013-07-22 01:31:15
【问题描述】:

如何将 ImageViews 添加到 ArrayAdapter 以在我的 ListView 中显示它们?我尝试将适配器设为ArrayAdapter<ImageView>,但没有成功。这是我的代码:

package com.example.picscroller;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListView list = (ListView)findViewById(R.id.list);
    ArrayAdapter<ImageView> myarrayAdapter = new ArrayAdapter<ImageView>(this,
    android.R.layout.simple_list_item_1);
    list.setAdapter(myarrayAdapter);
    list.setTextFilterEnabled(true);
    final Button addButton = (Button) findViewById(R.id.addButton);
    final Button removeButton = (Button) findViewById(R.id.removeButton);

    addButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        }
    });
    ImageView droid = new ImageView(this);
    droid.setImageResource(R.drawable.droid);
    myarrayAdapter.add(droid);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }

}

...这就是发生的事情:
我明白它为什么会发生,但我怎样才能让它工作(如何将 ImageView 添加到 ListView/ArrayAdapter?)
谢谢。

编辑好的,我知道 AndroidUniversalImageLoader 可能有用,但我该如何使用它@RSenApps

【问题讨论】:

  • 您的 getView 应该返回一个具有 ImageView 的视图,或者只返回 imageView、ArrayAdapter,您不要将 UI 而是数据放在这里,假设您将使用 ArrayAdapter 的图标数组。
  • 您是否特别想拥有ListViewImageViews

标签: android android-listview android-imageview


【解决方案1】:

我强烈建议您使用https://github.com/nostra13/Android-Universal-Image-Loader,而不是自己这样做,它会让您的生活更轻松,并且可能看起来也更好!

【讨论】:

  • 有什么使用教程吗?
  • 我应该如何使用它将图像放入列表中?
  • 只要看一下文档,它应该很容易解释。此外,您可以使用它们的组件而不是自己制作列表,这也意味着您可以延迟加载图像
  • 您很可能会想要使用 GridView 而不是 ListView,因为您不需要图像来填充整行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
相关资源
最近更新 更多