android报错空指针_求助:安卓空指针问题

我先详细描述一下出现的问题:

1、出现错误的界面在AndroidManifest.xml中的注册如下:

android:name="com.yx.logistics.MainActivity"

android:configChanges="keyboardHidden|orientation"

android:launchMode="singleTop"

android:taskAffinity="com.yx.logistics.main"

android:screenOrientation="portrait" >

2、界面的代码:

public class MainActivity extends FragmentActivity {

private static MainActivity thisRef;

// 未分配handler

/**

* 主要是用来获取列表的数据

*/

public static DownFileHandler wfphandler;

@SuppressLint("HandlerLeak")

class DownFileHandler extends Handler {

@Override

public void handleMessage(Message msg) {

if(msg.what==51){

lsv_wfp.onRefreshComplete();

tvxin1.setText("" + 0);

order_totil.setText("有" + 0 + "个订单未安排配送");

List list = new ArrayList();

list.add(msg.getData().getString("msg"));

//这里就是出错的地方      thisRef值为空。毫无疑问,我肯定是赋过值的。

EmptyAdapter empty = new EmptyAdapter(thisRef, list);

lsv_wfp.setAdapter(empty);

wjspageLoad.setVisibility(View.GONE);

return;

}

// 下单统计发来的消息

if (msg.what == 10) {

tv_sumcount.setText("共" + msg.arg1 + "单");

}

if (msg.what == 50) {

lsv_wfp.onRefreshComplete();

wjsisLoading = false;

Bundle bundle = msg.getData();

@SuppressWarnings("unchecked")

ArrayList newlist = (ArrayList) bundle

.getSerializable("orderlist");

sumcount = bundle.getInt("sumcount", 0);

tvxin1.setText("" + sumcount);

order_totil.setText("有" + sumcount + "个订单未安排配送");

LocationApplication.wjsnumber = sumcount;

totalnumber = totalnumber + newlist.size();

if ((newlist.size() == 0) && sumcount == 0) {

List list = new ArrayList();

list.add("对不起,没有订单");

//这里就是出错的地方      thisRef值为空。毫无疑问,我肯定是赋过值的。

EmptyAdapter empty = new EmptyAdapter(thisRef, list);

lsv_wfp.setAdapter(empty);

wjspageLoad.setVisibility(View.GONE);

return;

}

if (newlist != null && newlist.size() > 0) {

orderlistAdapter.refresh(newlist);

}

if ((page == 1 && sumcount <= WLOrderInfo.PAGENUMBER)

|| (totalnumber == sumcount)

|| (newlist.size() < WLOrderInfo.PAGENUMBER)

|| (newlist.size() == 0) || (newlist == null)) {

wjspageLoad.setVisibility(View.GONE);

}

}

}

}

……

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

thisRef = this;

wfphandler = new DownFileHandler();

……

}

……

}

3、EmptyAdapter的写法如下:

package com.yx.logistics.adapter;

import java.util.List;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

import com.yx.logistics.R;

/**

* */

public class EmptyAdapter extends BaseAdapter {

List list;

private Context context;

public EmptyAdapter(Context context, List list) {

this.context = context;

this.list = list;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return list.size();

}

@Override

public String getItem(int position) {

// TODO Auto-generated method stub

return list.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

VHolder holder;

if (convertView == null) {

holder = new VHolder();

convertView = LayoutInflater.from(context).inflate(

R.layout.empty_view, null);

holder.tv_left = (TextView) convertView.findViewById(R.id.tv_left);

convertView.setTag(holder);

}else{

holder=(VHolder) convertView.getTag();

}

holder.tv_left.setText(list.get(position));

return convertView;

}

class VHolder {

TextView tv_left;

}

}

-------------------------------------------------------------

找不到原因,我想不明白,为什么MainActivity这个界面明明存在,而thisRef这个值就为null。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值