課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
一共添加了五個數據,但是模擬器有十個數據,兩兩 重復
2016-12-10
源自:Android攻城獅的第二門課(第1季) 4-4
正在回答
注釋掉getData();?? //單獨的這一行
因為在 simAdapter方法中又調用了一次
?getData();? ? ? ?simAdapter=new SimpleAdapter(MainActivity.this,getData(),R.layout.item_layout,new String[]{"image","text"},new int[]{R.id.IV,R.id.TV});
這個部分重復了,上面單獨調用了一次,在simAdapter里又調用了一次
package com.example.user.gridview;import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Objects;public class MainActivity extends Activity implements AdapterView.OnItemClickListener{ ? ?private GridView GV; ? ?private ArrayList<Map<String,Object>> datalist; ? ?private int[] icon={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e}; ? ?private String[] Str={"one","two","three","four","five"}; ? ?private SimpleAdapter simAdapter; ? ?@Override ? ?protected void onCreate(Bundle savedInstanceState) { ? ? ? ?super.onCreate(savedInstanceState); ? ? ? ?setContentView(R.layout.activity_main); ? ? ? ?GV=(GridView) findViewById(R.id.GV);// ? ? ?準備數據源// ? ? ?新建適配器(SimpleAdapter)// ? ? ?GridView加載適配器// ? ? ?GridView配置事件監聽器(OnItenClickListener) ? ? ? ?datalist=new ArrayList<Map<String,Object>>(); ? ? ? ?getData(); ? ? ? ?simAdapter=new SimpleAdapter(MainActivity.this,getData(),R.layout.item_layout,new String[]{"image","text"},new int[]{R.id.IV,R.id.TV}); ? ? ? ?GV.setAdapter(simAdapter);// ? ? ?加載監聽器 ? ? ? ?GV.setOnItemClickListener(this); ? ?} ? ?private List<Map<String,Object>> getData() { ? ? ? ?for (int i = 0; i < icon.length; i++) { ? ? ? ? ? ?Map<String,Object> map=new HashMap<String,Object>(); ? ? ? ? ? ?map.put("image",icon[i]); ? ? ? ? ? ?map.put("text",Str[i]); ? ? ? ? ? ?datalist.add(map); ? ? ? ? ? ?Log.e("00000000",icon[i]+""+Str[i]); ? ? ? ?} ? ? ? ?return datalist; ? ?} ? ?@Override ? ?public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ? ? ? ?String data=GV.getItemAtPosition(position)+""; ? ? ? ?Toast.makeText(MainActivity.this,data,Toast.LENGTH_SHORT).show(); ? ?}}
這是我全部的主界面的代碼,沒有發現有重復的地方
往上面看一下,顯然你的生成adapter重復一次了
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-07-12
注釋掉getData();?? //單獨的這一行
因為在 simAdapter方法中又調用了一次
2017-02-28
?getData();
? ? ? ?simAdapter=new SimpleAdapter(MainActivity.this,getData(),R.layout.item_layout,new String[]{"image","text"},new int[]{R.id.IV,R.id.TV});
這個部分重復了,上面單獨調用了一次,在simAdapter里又調用了一次
2016-12-11
package com.example.user.gridview;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
? ?private GridView GV;
? ?private ArrayList<Map<String,Object>> datalist;
? ?private int[] icon={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};
? ?private String[] Str={"one","two","three","four","five"};
? ?private SimpleAdapter simAdapter;
? ?@Override
? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?setContentView(R.layout.activity_main);
? ? ? ?GV=(GridView) findViewById(R.id.GV);
// ? ? ?準備數據源
// ? ? ?新建適配器(SimpleAdapter)
// ? ? ?GridView加載適配器
// ? ? ?GridView配置事件監聽器(OnItenClickListener)
? ? ? ?datalist=new ArrayList<Map<String,Object>>();
? ? ? ?getData();
? ? ? ?simAdapter=new SimpleAdapter(MainActivity.this,getData(),R.layout.item_layout,new String[]{"image","text"},new int[]{R.id.IV,R.id.TV});
? ? ? ?GV.setAdapter(simAdapter);
// ? ? ?加載監聽器
? ? ? ?GV.setOnItemClickListener(this);
? ?}
? ?private List<Map<String,Object>> getData() {
? ? ? ?for (int i = 0; i < icon.length; i++) {
? ? ? ? ? ?Map<String,Object> map=new HashMap<String,Object>();
? ? ? ? ? ?map.put("image",icon[i]);
? ? ? ? ? ?map.put("text",Str[i]);
? ? ? ? ? ?datalist.add(map);
? ? ? ? ? ?Log.e("00000000",icon[i]+""+Str[i]);
? ? ? ?}
? ? ? ?return datalist;
? ?}
? ?@Override
? ?public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
? ? ? ?String data=GV.getItemAtPosition(position)+"";
? ? ? ?Toast.makeText(MainActivity.this,data,Toast.LENGTH_SHORT).show();
? ?}
}
這是我全部的主界面的代碼,沒有發現有重復的地方
2016-12-10
往上面看一下,顯然你的生成adapter重復一次了