android报错空指针_Android空指针的问题。。

============问题描述============

android 空指针搞了二天了,还是没找到错误,知道那里报空指针但不知道怎么改

有空的哥们帮帮忙qq517835354

报错代码:

GastronomyList.class:

/**

* 一切为了测试

*/

private ExpandTabView expandTabView;

private ArrayList mViewArray = new ArrayList();

private ViewMiddle viewMiddle;

private void init(){

tv_menu1 = (TextView)findViewById(R.id.tv_menu1);

tv_menu2 = (TextView)findViewById(R.id.tv_menu2);

tv_menu2.setVisibility(View.GONE);

tv_menu3 = (TextView)findViewById(R.id.tv_menu3);

tv_menu1.setText(getIntent().getStringExtra("menu"));

//获取传过来的分类Id

categoryId = getIntent().getStringExtra("id");

tv_menu1.setOnClickListener(this);

//tv_menu2.setOnClickListener(this);

tv_menu3.setOnClickListener(this);

View view = LayoutInflater.from(context).inflate(R.layout.bottom_bar, null);

lv_list = (ListView)findViewById(R.id.lv_list_ms);

list_list = new ArrayList>();

list_data3 = new ArrayList>();

for(int i=0;i

HashMap map = new HashMap();

map.put("name", orderNames[i]);

map.put("dictate", orderDictates[i]);

list_data3.add(map);

}

width = getWindowManager().getDefaultDisplay().getWidth();

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gastronomy_list);

init();

initView();

initVaule();

initListener();

//getProductCategoryList(categoryId);

getFLLsit();

getDictList();

getProductList(categoryId,busiareaId,order,pageNo*BASE,(pageNo+1)*BASE);

}

/**

* 一切为了测试

* @param 唉   命苦

*/

private void initView() {

expandTabView = (ExpandTabView) findViewById(R.id.expandtab_view);

// viewLeft = new ViewLeft(this);

//getProductCategoryList("");

viewMiddle = new ViewMiddle(this);

// viewRight = new ViewRight(this);

}

private void initVaule() {

// mViewArray.add(viewLeft);

mViewArray.add(viewMiddle);

// mViewArray.add(viewRight);

ArrayList mTextArray = new ArrayList();

// mTextArray.add("距离");

mTextArray.add("美食");

if(mViewArray!=null){

Log.i("什么玩意", ""+mViewArray.size());

}else{

Log.i("什么玩意", "呵呵");

}

// mTextArray.add("距离");

expandTabView.setValue(mTextArray, mViewArray);      //这行报错   空指针

// expandTabView.setTitle(viewLeft.getShowText(), 0);

// expandTabView.setTitle(viewMiddle.getShowText(), 1);

// expandTabView.setTitle(viewRight.getShowText(), 2);

}

private void initListener() {

// viewLeft.setOnSelectListener(new ViewLeft.OnSelectListener() {

//

// @Override

// public void getValue(String distance, String showText) {

// onRefresh(viewLeft, showText);

// }

// });

viewMiddle.setOnSelectListener(new ViewMiddle.OnSelectListener() {

@Override

public void getValue(String showText) {

onRefresh(viewMiddle, showText);

}

});

// viewRight.setOnSelectListener(new ViewRight.OnSelectListener() {

// @Override

// public void getValue(String distance, String showText) {

// onRefresh(viewRight, showText);

// }

// });

}

private void onRefresh(View view, String showText) {

expandTabView.onPressBack();

int position = getPositon(view);

if (position >= 0 && !expandTabView.getTitle(position).equals(showText)) {

expandTabView.setTitle(showText, position);

}

Toast.makeText(getApplicationContext(), showText, Toast.LENGTH_SHORT).show();

}

private int getPositon(View tView) {

for (int i = 0; i 

if (mViewArray.get(i) == tView) {

return i;

}

}

return -1;

}

报错信息:

============解决方案1============

你检查一下activity_gastronomy_list.xml里有没有对应的id为expandtab_view的控件。

============解决方案2============

2楼说的不错,因为 android 目前的机制是在 findViewById 找不到对应的控件的时候,会返回 null, 而不是抛出异常,而 Null 可以被强制类型转换为任意类型.

因此,你需要检查布局文件中是否有对应id 的控件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值