Java 动态更改ListView大小并加载图像

Java 动态更改ListView大小并加载图像,java,android,Java,Android,我想创建一个ListView,每一行中的图像和文本都会动态改变大小(例如,在开始时ListView不会显示任何内容,然后,我可以向ListView添加条目),我还想ListView可以加载位图图像列表,而不是drawable中的图像 我创建了这段代码,但是代码只从drawable加载图像并创建一次(这意味着我不能动态更改列表-添加或删除listView条目) String[]text={“一”、“二”、“三”、“四”、“五”、“六”、“七”, “八”、“九”、“十”}; int[]image={

我想创建一个ListView,每一行中的图像和文本都会动态改变大小(例如,在开始时ListView不会显示任何内容,然后,我可以向ListView添加条目),我还想ListView可以加载位图图像列表,而不是drawable中的图像

我创建了这段代码,但是代码只从drawable加载图像并创建一次(这意味着我不能动态更改列表-添加或删除listView条目)

String[]text={“一”、“二”、“三”、“四”、“五”、“六”、“七”,
“八”、“九”、“十”};
int[]image={R.drawable.logo,R.drawable.logo,R.drawable.logo,
R.drawable.logo,R.drawable.logo,R.drawable.logo,R.drawable.logo,
R.drawable.logo,R.drawable.logo,R.drawable.logo};
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setAdapter(新的MyCustomAdapter(文本、列表图像));
edittext=(edittext)findViewById(R.id.EditText01);
edittext.addTextChangedListener(新的TextWatcher()
{
公共无效后文本已更改(可编辑)
{
}
更改前的公共无效(字符序列、整数开始、,
整数计数,整数后)
{
}
public void onTextChanged(字符序列,int start,
前整数,整数计数)
{
textlength=edittext.getText().length();
text_sort.clear();
图像_sort.clear();
for(int i=0;i如果(textlength检查listview的这个实现

检查本教程以了解如何使用自定义列表视图项

艾德: 使用此适配器类:

class MyCustomAdapter extends BaseAdapter{ public static ArrayList text_array = new ArrayList(); public static ArrayList image_array = new ArrayList(); public int getCount(){ return text_array..size(); } public long getItemId(int position){ return position; } public String getItem(int position){ return null; } public View getView(final int position, View convertView, ViewGroup parent) { LayoutInflater inflate = getLayoutInflater(); View v = inflate.inflate(R.layout.listview, parent, false); final ImageView image = (ImageView) v.findViewById(R.id.ImageView01); if(listImages.get(position) != null) { image.setImageBitmap(image_array.get(position)); image.setVisibility(View.VISIBLE); } else { image.setVisibility(View.GONE); image.setImageBitmap(null); image.setVisibility(View.VISIBLE); } return v; } public void addObject(String text, Bitmap bitmap) { text_array.add(text); image_array.add(bitmap); notifyDataSetChanged(); } } 类MyCustomAdapter扩展了BaseAdapter{ public static ArrayList text_array=new ArrayList(); 公共静态ArrayList image_array=new ArrayList(); public int getCount(){ 返回文本数组..size(); } 公共长getItemId(int位置){ 返回位置; } 公共字符串getItem(int位置){ 返回null; } 公共视图getView(最终整数位置、视图转换视图、视图组父视图){ LayoutFlater充气=GetLayoutFlater(); 视图v=充气。充气(R.layout.listview,父视图,false); 最终ImageView图像=(ImageView)v.findViewById(R.id.ImageView01); if(listImages.get(position)!=null){ setImageBitmap(image_array.get(position)); image.setVisibility(View.VISIBLE); }否则{ image.setVisibility(View.GONE); image.setImageBitmap(空); image.setVisibility(View.VISIBLE); } 返回v; } 公共void addObject(字符串文本、位图){ 文本\数组。添加(文本); 图像_数组。添加(位图); notifyDataSetChanged(); } }
从活动类中调用addObject函数在列表视图中添加新项目

您好,谢谢您的回答,但是此链接对我没有帮助,没有示例说明如何从listView动态添加或删除项目,以及如何将位图图像列表加载到listView…有任何进一步的帮助吗?感谢android示例中的示例您可以看到它的结果它位于ApiDemo应用程序中,用于动态列表视图。要在列表视图中使用图像,您必须为列表视图扩展BaseAdapter/ArrayAdapter类。我更新了代码(getView函数),但我遇到了一个问题(也发布了logcat) class MyCustomAdapter extends BaseAdapter{ public static ArrayList text_array = new ArrayList(); public static ArrayList image_array = new ArrayList(); public int getCount(){ return text_array..size(); } public long getItemId(int position){ return position; } public String getItem(int position){ return null; } public View getView(final int position, View convertView, ViewGroup parent) { LayoutInflater inflate = getLayoutInflater(); View v = inflate.inflate(R.layout.listview, parent, false); final ImageView image = (ImageView) v.findViewById(R.id.ImageView01); if(listImages.get(position) != null) { image.setImageBitmap(image_array.get(position)); image.setVisibility(View.VISIBLE); } else { image.setVisibility(View.GONE); image.setImageBitmap(null); image.setVisibility(View.VISIBLE); } return v; } public void addObject(String text, Bitmap bitmap) { text_array.add(text); image_array.add(bitmap); notifyDataSetChanged(); } }