Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null

qq_26924411 2015-03-30 10:42:51
各位大神,我想在tabhost里添加一个listview 然后出现了上面的错误 求解啊
非常急,大白菜一个!

adapter.Java

package com.zjz;

import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;

public class Myadapter_2 extends BaseAdapter{
private Context context;
private List<Map<String, Object>> data;
private LayoutInflater layoutInflater;

public Myadapter_2(Context context,List<Map<String, Object>> data){
this.context=context;
this.data=data;
layoutInflater=LayoutInflater.from(context);

}

@Override
public int getCount() {
// TODO 自动生成的方法存根
return data.size();
}

@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return data.get(position);
}

@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}

static class Viewholder{
ImageView carte_image;
TextView carte_name;
RatingBar carte_scroe;
TextView carte_monthlySales;
Button carte_price;
TextView scroe_rate2;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO 自动生成的方法存根
Viewholder holder;
if(convertView==null){
convertView=layoutInflater.inflate(R.layout.carte_list, null);
holder=new Viewholder();
holder.carte_image=(ImageView)convertView
.findViewById(R.id.carte_image);
holder.carte_monthlySales=(TextView)convertView
.findViewById(R.id.carte_monthlySales);
holder.carte_name=(TextView)convertView
.findViewById(R.id.carte_name);
holder.carte_scroe=(RatingBar)convertView
.findViewById(R.id.carte_scroe);
holder.carte_price=(Button)convertView
.findViewById(R.id.carte_price);
holder.scroe_rate2=(TextView)convertView
.findViewById(R.id.score_rate2);
convertView.setTag(holder);
}else{
holder=(Viewholder)convertView.getTag();

}

View view=layoutInflater.inflate(R.layout.carte_list, null);

ImageView carte_image=(ImageView)view
.findViewById(R.id.carte_image);
TextView carte_name=(TextView)view
.findViewById(R.id.carte_name);
RatingBar carte_scroe=(RatingBar)view
.findViewById(R.id.carte_scroe);
TextView carte_monthlySales=(TextView)view
.findViewById(R.id.carte_monthlySales);
Button carte_price=(Button)view
.findViewById(R.id.carte_price);
TextView score_rate2=(TextView)view
.findViewById(R.id.score_rate2);

Map<String, Object> carte_adapter=data.get(position);

carte_image.setImageResource(
(Integer) carte_adapter.get(Carte.KEY_1));
carte_name.setText(
(CharSequence)carte_adapter.get(Carte.KEY_2));
carte_monthlySales.setText(
(CharSequence)carte_adapter.get(Carte.KEY_3));
carte_price.setText(
(CharSequence)carte_adapter.get(Carte.KEY_4));
score_rate2.setText(
(CharSequence)carte_adapter.get(Carte.KEY_5));

String str=(String)carte_adapter.get(Carte.KEY_5);
carte_scroe.setRating(Float.parseFloat(str));

return view;
}

}



Carte.java

package com.zjz;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;



import android.app.Activity;

import android.os.Bundle;


import android.widget.ListView;
import android.widget.RatingBar;


public class Carte extends Activity{

public static final String KEY_1="carte_image";
public static final String KEY_2="carte_name";
public static final String KEY_3="carte_monthlySales";
public static final String KEY_4="carte_price";
public static final String KEY_5="score_rate2";
private RatingBar carte_scroe;
private List<Map<String, Object>> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.carte);


getData();

ListView carte_list=(ListView)this.findViewById(R.id.listView1);
Myadapter adapter= new Myadapter(Carte.this, list);
carte_list.setAdapter(adapter);
}

private List<Map<String, Object>> getData(){
list =new ArrayList<Map<String,Object>>();
for(int i=0;i<10;i++){
Map<String, Object> carte_adapter=new HashMap<String, Object>();
carte_adapter.put(KEY_1, R.drawable.ic_launcher);
carte_adapter.put(KEY_2, "康师傅");
carte_adapter.put(KEY_3, "月售"+i+"单");
carte_adapter.put(KEY_4, i+"元");
carte_adapter.put(KEY_5, i+"");

list.add(carte_adapter);
}
return list;
}


}

tabhost.java

package com.zjz;


import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;

import android.widget.TabHost;

public class Restaurant_information extends TabActivity{

private TabHost tabhost;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);


tabhost=this.getTabHost();
LayoutInflater.from(this).inflate(R.layout.restaurant_information,
tabhost.getTabContentView(),true);

Intent itcarte=new Intent(this,Carte.class);
Intent itintroduction_layout=new Intent(this,Restaurant_introduction.class);
tabhost.addTab(tabhost.newTabSpec("tab1")
.setIndicator("菜单")
.setContent(itcarte));
tabhost.addTab(tabhost.newTabSpec("tab2")
.setIndicator("店铺信息")
.setContent(itintroduction_layout));
}
}


错误显示:

03-30 10:36:14.298: E/AndroidRuntime(1653): FATAL EXCEPTION: main
03-30 10:36:14.298: E/AndroidRuntime(1653): Process: com.zjz, PID: 1653
03-30 10:36:14.298: E/AndroidRuntime(1653): java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference
03-30 10:36:14.298: E/AndroidRuntime(1653): at com.zjz.Myadapter.getView(Myadapter.java:111)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.AbsListView.obtainView(AbsListView.java:2347)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.ListView.measureHeightOfChildren(ListView.java:1270)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.ListView.onMeasure(ListView.java:1182)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.measureVertical(LinearLayout.java:875)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.View.measure(View.java:17547)
03-30 10:36:14.298: E/AndroidRuntime(1653): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)

...全文
49003 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
信息就是力量 2016-07-28
  • 打赏
  • 举报
回复
int myintflag=2006; try { myintflag= intent.getFlags(); } catch (Exception e) { e.printStackTrace(); } 你只是调用一个空的对象的成员,所以出错了,只要把错误自已处理下就行了
fireyou 2016-07-01
  • 打赏
  • 举报
回复
x,僵尸贴出来了
lwlizhe 2016-07-01
  • 打赏
  • 举报
回复
我擦,才发现这问题已经1年半了
lwlizhe 2016-07-01
  • 打赏
  • 举报
回复
03-30 10:36:14.298: E/AndroidRuntime(1653): at com.zjz.Myadapter.getView(Myadapter.java:111) 楼主你那个111行是哪行啊……
张勉之勉 2016-06-30
  • 打赏
  • 举报
回复
存储的时候: carte_adapter.put(KEY_1, String.valueOf(R.drawable.ic_launcher)); 显示的时候 carte_image.setImageResource( Integer.parseInt(carte_adapter.get(Carte.KEY_1)));
qq_34083335 2016-02-26
  • 打赏
  • 举报
回复
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.post(java.lang.Runnable)' on a null object reference
at com.happyteam.dubbingshow.http.AsyncHttpResponseHandler.postRunnable(AsyncHttpResponseHandler.java:311)
at com.happyteam.dubbingshow.http.JsonHttpResponseHandler$1.run(JsonHttpResponseHandler.java:122)
at java.lang.Thread.run(Thread.java:818)
qq_34083335 2016-02-26
  • 打赏
  • 举报
回复
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.post(java.lang.Runnable)' on a null object reference
at com.happyteam.dubbingshow.http.AsyncHttpResponseHandler.postRunnable(AsyncHttpResponseHandler.java:311)
at com.happyteam.dubbingshow.http.JsonHttpResponseHandler$1.run(JsonHttpResponseHandler.java:122)
at java.lang.Thread.run(Thread.java:818)
qq_27815979 2015-07-09
  • 打赏
  • 举报
回复
View view=layoutInflater.inflate(R.layout.carte_list, null); ImageView carte_image=(ImageView)view .findViewById(R.id.carte_image); TextView carte_name=(TextView)view .findViewById(R.id.carte_name); RatingBar carte_scroe=(RatingBar)view .findViewById(R.id.carte_scroe); TextView carte_monthlySales=(TextView)view .findViewById(R.id.carte_monthlySales); Button carte_price=(Button)view .findViewById(R.id.carte_price); TextView score_rate2=(TextView)view .findViewById(R.id.score_rate2); 上面这段没用吧,直接给holder中的控件赋值。 例如 holder.carte_image.setImageResource( (Integer) carte_adapter.get(Carte.KEY_1)); 我也是新手,你看看行不行
goshiter 2015-05-01
  • 打赏
  • 举报
回复
carte_image.setImageResource( (Integer) carte_adapter.get(Carte.KEY_1)); 这一行,假如carte_adapter.get(Carte.KEY_1));取出来为null,就转integer出错了,你可以修改下试试
qq_26924411 2015-03-30
  • 打赏
  • 举报
回复
各位大神求回,这问题已经搞了好多天了啊 ,在线等啊!!

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧