Android 仅包含图像的列表视图

Android 仅包含图像的列表视图,android,android-layout,listview,Android,Android Layout,Listview,如何制作只包含图像而不包含其他内容的列表视图。我对listView和所有adapter东西都是新手。我成功地制作了一个只包含文本的列表视图,但无法对图像执行此操作。 这就是我到目前为止所做的 我的主要活动课 public class MainActivity extends AppCompatActivity { ListView listView; ImageView imageView; int[] imageIds = {R.drawable.chrysanthemum, R.draw

如何制作只包含图像而不包含其他内容的
列表视图
。我对
listView
和所有
adapter
东西都是新手。我成功地制作了一个只包含文本的
列表视图
,但无法对图像执行此操作。 这就是我到目前为止所做的

我的主要活动课

public class MainActivity extends AppCompatActivity {

ListView listView;
ImageView imageView;

int[] imageIds = {R.drawable.chrysanthemum, R.drawable.desert, R.drawable.hydrangeas, R.drawable.jellyfish};

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

    listView = (ListView) findViewById(R.id.listView);

    ArrayAdapter<ImageView> adapter = new ArrayAdapter<ImageView>(this, R.layout.imageview, imageIds);

    listView.setAdapter(adapter);
}
public类MainActivity扩展了AppCompatActivity{
列表视图列表视图;
图像视图图像视图;
int[]imageIds={R.drawable.jummetry,R.drawable.desert,R.drawable.绣球花,R.drawable.jellyfish};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(listView)findViewById(R.id.listView);
ArrayAdapter=新的ArrayAdapter(this,R.layout.imageview,ImageID);
setAdapter(适配器);
}
}

主XML代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.danishrizvi.myapplication.MainActivity">

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</ListView>

ImageView布局文件

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

错误出现在此行
ArrayAdapter=new ArrayAdapter(this,R.layout.imageview,ImageID)无法解析构造函数
。 到目前为止,我通过在internet上搜索了解到的错误是,我可能需要一个自定义适配器或类似的东西来完成我的工作,但无法知道如何实现以及如何工作。

layout\u adapter.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<ImageView
    android:id="@+id/img_adapter"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>

ImageAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

import java.util.ArrayList;

public class ImageAdapter extends BaseAdapter {

private Context mContext;
private ArrayList<String> arrayList;

public ImageAdapter(Context mContext, ArrayList<String> arrayList) {
    this.mContext = mContext;
    this.arrayList = arrayList;
}

@Override
public int getCount() {
    return arrayList.size();
}

@Override
public Object getItem(int position) {
    return arrayList.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    convertView = LayoutInflater.from(mContext).inflate(R.layout.layout_adapter, parent, false);
    ImageView imgAdapter = (ImageView) convertView.findViewById(R.id.img_adapter);
    Glide.with(mContext).load(arrayList.get(position)).into(imgAdapter);
    return convertView;
}
}
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.ImageView;
导入com.bumptech.glide.glide;
导入java.util.ArrayList;
公共类ImageAdapter扩展了BaseAdapter{
私有上下文;
私有ArrayList ArrayList;
公共图像适配器(上下文mContext、ArrayList ArrayList){
this.mContext=mContext;
this.arrayList=arrayList;
}
@凌驾
public int getCount(){
返回arrayList.size();
}
@凌驾
公共对象getItem(int位置){
返回arrayList.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
convertView=LayoutFlater.from(mContext).充气(R.layout.layout_适配器,父级,false);
ImageView imgAdapter=(ImageView)convertView.findViewById(R.id.img_适配器);
使用(mContext)将(arrayList.get(position))装入(imgAdapter);
返回视图;
}
}
在这样的活动中使用它

ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("image url");
arrayList.add("image url");
arrayList.add("image url");

ImageAdapter imageAdapter = new ImageAdapter(this, arrayList);
listView.setAdapter(imageAdapter);
ArrayList ArrayList=new ArrayList();
添加(“图像url”);
添加(“图像url”);
添加(“图像url”);
ImageAdapter ImageAdapter=新的ImageAdapter(这是arrayList);
setAdapter(imageAdapter);
示例代码如下:
Ii显示带有图像和文本的行。因此,您可以根据自己的要求对其进行修改。

到目前为止,有人可以分享一些可读的内容来理解这个概念吗?我刚刚设法查看了一些示例和实现。您可以使用示例单击“确定”,谢谢,我现在知道了