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显示带有图像和文本的行。因此,您可以根据自己的要求对其进行修改。到目前为止,有人可以分享一些可读的内容来理解这个概念吗?我刚刚设法查看了一些示例和实现。您可以使用示例单击“确定”,谢谢,我现在知道了