學(xué)無(wú)丶直徑
2017-01-18 14:56:25
package com.example.basadper;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity {private ArrayList<Map<String,Object>>data;private ListView lV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);? ? ? ? lV = (ListView) findViewById(R.id.listView1);? ? ? ? MyAdaper adaper = new MyAdaper(this);? ? ? ? lV.setAdapter(adaper);? ? ? ?? }? public ArrayList<Map<String,Object>> getdata(){ ArrayList<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); for(int i=0;i<=100;i++){ Map<String,Object> map1 = new HashMap<String,Object>(); map1.put("img", R.id.imageView1); map1.put("TextView", R.id.textView1); map1.put("TextView", R.id.textView2); list.add(map1); } return list;? } static class ViewHolder ? ? ?{ ? ? ? ? ?public ImageView img; ? ? ? ? ?public TextView title; ? ? ? ? ?public TextView info; ? ? ?} ??class MyAdaper extends BaseAdapter{ private LayoutInflater mInflater = null; ?? ? ?private MyAdaper(Context context) ?? ? ?{ ?? ? ? ? ?//根據(jù)context上下文加載布局,這里的是Demo17Activity本身,即this ?? ? ? ? ?this.mInflater = LayoutInflater.from(context); ?? ? ?} ? ? @Override public int getCount() { // TODO Auto-generated method stub return getdata().size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; ?? ? ? ? //如果緩存convertView為空,則需要?jiǎng)?chuàng)建View ?? ? ? ? if(convertView == null) ?? ? ? ? { ?? ? ? ? ? ? holder = new ViewHolder(); ?? ? ? ? ? ? //根據(jù)自定義的Item布局加載布局 ?? ? ? ? ? ? convertView =?? ? ? ? ? ? holder.img = (ImageView)convertView.findViewById(R.id.imageView1); ?? ? ? ? ? ? holder.title = (TextView)convertView.findViewById(R.id.textView1); ?? ? ? ? ? ? holder.info = (TextView)convertView.findViewById(R.id.textView2); ?? ? ? ? ? ? //將設(shè)置好的布局保存到緩存中,并將其設(shè)置在Tag里,以便后面方便取出Tag ?? ? ? ? ? ? convertView.setTag(holder); ?? ? ? ? }else ?? ? ? ? { ?? ? ? ? ? ? holder = (ViewHolder)convertView.getTag(); ?? ? ? ? } ?? ? ? ? holder.img.setBackgroundResource((Integer)data.get(position).get("img")); ?? ? ? ? holder.title.setText((String)data.get(position).get("title")); ?? ? ? ? holder.info.setText((String)data.get(position).get("info")); ?? ? ? ? ??? ? ? ? return convertView; ?? ? } ? }?}
4 回答

qq_匡璐_0
TA貢獻(xiàn)96條經(jīng)驗(yàn) 獲得超96個(gè)贊
convertView 沒(méi)有賦值 你的代碼里就寫(xiě)了個(gè)=號(hào) 后面就沒(méi)有了 ?編譯都不通過(guò) 怎么看

擬人
TA貢獻(xiàn)37條經(jīng)驗(yàn) 獲得超15個(gè)贊
空指針異常一般是指一個(gè)為空null的對(duì)象去調(diào)用方法拋出的。因?yàn)閚ull是沒(méi)有方法的,空指針異常一般都會(huì)將你有問(wèn)題的代碼給表示出來(lái),你去報(bào)錯(cuò)信息里找找是哪一行報(bào)錯(cuò)了,一般來(lái)說(shuō)是可以直接點(diǎn)擊報(bào)錯(cuò)對(duì)應(yīng)到相應(yīng)的大致位置,然后你再去分析,或者是斷點(diǎn)進(jìn)去看到底是哪個(gè)對(duì)象是null的,以后提問(wèn)盡量不要直接扔代碼,除非那種很熟的代碼,不然別人估計(jì)也看的很難受。
- 4 回答
- 0 關(guān)注
- 1637 瀏覽
添加回答
舉報(bào)
0/150
提交
取消