尝试在 Android Studio 中创建带有文本的 listView 图像
Posted
技术标签:
【中文标题】尝试在 Android Studio 中创建带有文本的 listView 图像【英文标题】:Trying to Create a listView image with text in Android Studio 【发布时间】:2022-01-16 11:21:22 【问题描述】:package com.example.test;
import android.content.Context;
import android.provider.DocumentsContract;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class ProgramAdapter extends ArrayAdapter<String>
Context context;
int[] images;
String[] programName;
String[] programDescription;
public ProgramAdapter( Context context, String [] programName, int[] images, String[] programDescription)
super(context, R.layout.single_item, R.id.textView1, programName);
this.context = context;
this.images = images;
this.programName = programName;
this.programDescription = programDescription;
@Override
public View getView(int position, View convertView, ViewGroup parent)
View singleItem = convertView;
ProgramViewHolder holder = null;
if(singleItem == null)
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
singleItem = LayoutInflater.inflate(R.layout.single_item, parent, false);
holder = new ProgramViewHolder(singleItem);
singleItem.setTag(holder);
else
holder = (ProgramViewHolder) singleItem.getTag();
holder.itemImage.setImageResource(images[position]);
holder.programTitle.setText(programName[position]);
holder.programDescription.setText(programDescription[position]);
singleItem.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Toast.makeText(getContext(), "You clicked:" + programName[position], Toast.LENGTH_SHORT ).show();
);
return singleItem;
我正在尝试在 Android Studio 中创建带有文本的 Listview 图像。以下行中仅显示一个错误:
singleItem = LayoutInflater.inflate(R.layout.single_item, parent, false);
我有 3 个类:MainActivity、ProgramAdapter 和 ProgramViewHolder
不能从静态上下文中引用非静态方法“inflate(int, android.view.ViewGroup, boolean)”
【问题讨论】:
请注意格式化How do I format my posts using Markdown or html 的约定。在这种情况下已经为您完成了! 【参考方案1】:你没有使用layoutInflater
对象
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutInflater
是一个类。
singleItem = LayoutInflater.inflate(R.layout.single_item, parent, false);
改成
singleItem = layoutInflater.inflate(R.layout.single_item, parent, false);
【讨论】:
以上是关于尝试在 Android Studio 中创建带有文本的 listView 图像的主要内容,如果未能解决你的问题,请参考以下文章
在哪里可以找到系统映像以在 Android Studio 中创建虚拟设备
如何在 Android Studio 中创建自定义图像按钮?
无法在Android Studio中创建Android虚拟设备[关闭]