imageview-安卓,gridview和simpleadapter,为什么显示的都是同一张图?

问题描述

安卓,gridview和simpleadapter,为什么显示的都是同一张图?

代码如下:

activity_main.xml:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:orientation="vertical">

<GridView
    android:id="@+id/gridview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
 然后下面是imageview.xml
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".activity"
android:orientation="vertical">

<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>

    下面是java代码:

package com.example.test5;

import android.os.Bundle;
import android.widget.*;
import java.util.*;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

SimpleAdapter s=null;
GridView grid=null;
List<Map<String,Object>> list=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    grid=(GridView)super.findViewById(R.id.gridview);
    initAdapter();
    grid.setAdapter(s);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void initAdapter()
{
    Map<String,Object> map=new HashMap<String,Object>();
    list=new ArrayList<Map<String,Object>>();

    map.put("图片", R.drawable.a1);
    list.add(map);
    map.put("图片", R.drawable.a2);
    list.add(map);
    map.put("图片", R.drawable.a3);
    list.add(map);

    s=new SimpleAdapter(MainActivity.this,list,R.layout.imageview,new String[]{"图片"},new int[]{R.id.image});

}

}

要显示三张图片,可是显示的都是同一张,是最后一张图。

请问这里哪里出了错,怎么解决?

解决方案

    Map<String,Object> map=new HashMap<String,Object>();
    list=new ArrayList<Map<String,Object>>();

    map.put("图片", R.drawable.a1);
    list.add(map);
        Map<String,Object> map1=new HashMap<String,Object>();
    map1.put("图片", R.drawable.a2);
    list.add(map1);
        Map<String,Object> map2=new HashMap<String,Object>();
    map2.put("图片", R.drawable.a3);
    list.add(map2);

如上.

解决方案二:

http://www.bubuko.com/infodetail-262313.html

解决方案三:

只new了一个map对象呃,后面的会put()会的覆盖掉前面的值……You see?

解决方案四:

要重新Map map=new HashMap();
然后再put,再添加到list

解决方案五:

new int[]{R.id.image},这里出错了

时间: 2024-09-16 08:19:08

imageview-安卓,gridview和simpleadapter,为什么显示的都是同一张图?的相关文章

编程-安卓,可循环滑动的图片,不显示标示哪张图的小点,求大神来帮忙

问题描述 安卓,可循环滑动的图片,不显示标示哪张图的小点,求大神来帮忙 contentmain.xml: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&q

安卓编程-android编程布局显示的问题

问题描述 android编程布局显示的问题 运行结果如图所示,但是运行结果不是我想要的,获取的新闻不能显示在listview上,想要的结果类似于那个点菜那样,如图所示public class MainActivity extends Activity { Document doc;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView

安卓谷歌拼音输入法状态显示

问题描述 安卓谷歌拼音输入法状态显示 安卓谷歌拼音输入法,外接物理键盘,怎么用代码实现显示当前输入法的状态(不用软键盘),如是中文输入还是英文输入等?

winfrom读取图片-C#,winfrom怎么利用 listview和imageview从数据库获取图片,显示在窗体上?

问题描述 C#,winfrom怎么利用 listview和imageview从数据库获取图片,显示在窗体上? 利用winfrom,listview和imageview实现从数据库读取图片 显示在界面上. 解决方案 建议您访问我的博客:http://blog.csdn.net/u014658115/article/details/47660987

安卓GridView如何为里面的组件设置不同内容

问题描述 安卓GridView如何为里面的组件设置不同内容 最近在做天气预报,设置城市方面想到用 GridView实现像墨迹那种效果,但是有个问题就是GridView中里面都是一个XML文件复制过来的,内容都一样的,每个组件里面ID都一样,如何为每一个设置不同的值,比如一个是晴天,25摄氏度,18:00同步之类的.

图片-为什么ASP.NET中GridView的分页设置显示不对

问题描述 为什么ASP.NET中GridView的分页设置显示不对 为什么ASP.NET中用GridView的PagerSettings设置分页功能时会显示同是"上一页"或同是"下一页"呢? 解决方案 ASP.NET中GridView分页gridView (分页)(asp.net)asp.net 中的gridview 之gridview 分页 解决方案二: 这个在GridView中的Position属性中设置,TopAndBottom表示在上面和下面都显示,Top表

gridview绑定数据源不显示列,就一直是column1、2、3三列

问题描述 gridview绑定数据源不显示列,就一直是column1.2.3三列 解决方案 解决方案二:这个要看你代码好吧解决方案三:你没有绑定成功,自动生成的列也没有去掉解决方案四:grid.datasource=dt;//你的数据源grid.databind();//绑定 解决方案五:引用3楼Hsuifengershi的回复: grid.datasource=dt;//你的数据源grid.databind();//绑定 +1猜测楼主像使用winform程序一样,只指定了数据源,没执行绑定操作

GridView中日期不显示时分秒的完美解决方法_实用技巧

两种处理方式: 1.模版列:假设数据表的字段completeTime的类型为时间格式 <asp:TemplateField HeaderText="时间"> <ItemTemplate> <%#Eval("completeTime", "{0:yyyy-MM-dd}")%> </ItemTemplate> </asp:TemplateField> 2.绑定列: <asp:Bound

在gridview通过CheckBox隐藏/显示 列后,表中刚刚填入的数据奇怪消失.

问题描述 大家好,在gridview通过CheckBox隐藏/显示列后,在表中其他列刚刚填入的数据奇怪消失.代码如下:protectedvoidCheckBox1_CheckedChanged(objectsender,EventArgse){GridView1.Columns[6].Visible=!GridView1.Columns[6].Visible;}请问为什么? 解决方案 解决方案二:可能是你的CheckedChanged事件是提交到服务器端的,导致了gridview需要重新绑定最好