Android 是否使用ArrayAdapter return black活动仅在ListView中显示图像?

Android 是否使用ArrayAdapter return black活动仅在ListView中显示图像?,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我只想将图像添加到ListView,我创建了Activity和ArrayAdapter,如下所示 活动和阵列适应课程 public class Main extends ActionBarActivity{ ListView icons ; ArrayList <Drawable> items ; Adapter adapter ; @Override public void onCreate(Bundle savedInstanceStat

我只想将图像添加到ListView,我创建了Activity和ArrayAdapter,如下所示

活动和阵列适应课程

 public class Main extends ActionBarActivity{
    ListView icons ;
    ArrayList <Drawable> items ;
    Adapter adapter ;
    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        setContentView(R.layout.main);
        icons = (ListView) findViewById(R.id.icon);
        items = new ArrayList<Drawable>() { };
        items.add(getResources().getDrawable(R.drawable.r));
        items.add(getResources().getDrawable(R.drawable.b));
        items.add(getResources().getDrawable(R.drawable.g));

        adapter = new Adapter(this,0,items);
        icons.setAdapter(adapter);
    }
}
class Adapter extends ArrayAdapter<Drawable>{
    ArrayList<Drawable> items ;
    ImageView image ;

    public Adapter(Context c,int resources,ArrayList<Drawable>list){
        super(c,resources,list);
        this.items = list ;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.images, parent, false);
        }
        image= (ImageView) convertView.findViewById(R.id.image);
        image.setBackground(items.get(position));
        return convertView;

    }
}
public类Main扩展了ActionBarActivity{
列表视图图标;
数组列表项;
适配器;
@凌驾
创建时的公共void(Bundle savedInstanceState、PersistableBundle persistentState){
super.onCreate(savedInstanceState、persistentState);
setContentView(R.layout.main);
icons=(ListView)findViewById(R.id.icon);
items=newarraylist(){};
add(getResources().getDrawable(R.drawable.R));
add(getResources().getDrawable(R.drawable.b));
add(getResources().getDrawable(R.drawable.g));
适配器=新适配器(此,0,项);
图标。设置适配器(适配器);
}
}
类适配器扩展了ArrayAdapter{
数组列表项;
图像视图图像;
公共适配器(上下文c、int资源、ArrayList){
超级(c、资源、列表);
此项=列表;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=LayoutInflater.from(getContext()).flate(R.layout.images,parent,false);
}
image=(ImageView)convertView.findViewById(R.id.image);
image.setBackground(items.get(position));
返回视图;
}
}
images.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="350dp"
    android:id="@+id/images" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/icon"
    android:layout_gravity="center_horizontal" />

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="350dp"
    android:id="@+id/images" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/icon"
    android:layout_gravity="center_horizontal" />

我得到的是黑白活动,这个代码怎么了

提前谢谢

更改这些行:

image= (ImageView) convertView.findViewById(R.id.image);
image.setBackground(items.get(position));

改变

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/icon"
    android:layout_gravity="center_horizontal" />


从活动的
onCreate中删除第二个参数:
使用

而不是

@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
    super.onCreate(savedInstanceState, persistentState);
    //...
}
此外,如果您发现错误的ImageView id,请在适配器的
getView()
中将
R.id.image
替换为
R.id.images
。并将
setBackground()
更改为
setImageDrawable()

@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
    super.onCreate(savedInstanceState, persistentState);
    //...
}