如题 从朋友那儿拿来的工程文件 运行时Console里面显示正常 但模拟器里边说程序意外停止,请重试LogCat里边报错为:
java.lang.NullPointerException
at com.network.ui.MobileActivity.updateItems(MobileActivity.java:141)
at com.network.ui.MobileActivity.access$0(MobileActivity.java:133)
...后面省略在朋友那儿能正常运行 但在我这儿就罢工了 这问题怎么解决啊 求高人解答
java.lang.NullPointerException
at com.network.ui.MobileActivity.updateItems(MobileActivity.java:141)
at com.network.ui.MobileActivity.access$0(MobileActivity.java:133)
...后面省略在朋友那儿能正常运行 但在我这儿就罢工了 这问题怎么解决啊 求高人解答
private void updateItems() {
// 更新本日流量信息
items[5] = myFormat.format(receiver.getGprsRx_KbValue()) + "Kb";// 上行wifi流量
items[6] = myFormat.format(receiver.getGprsTx_KbValue()) + "Kb";// 下行wifi流量
items[7] = myFormat.format(receiver.getGprsRx_KbValue()
+ receiver.getGprsTx_KbValue())+ "Kb";//总的wifi流量
// Test
// 更新本周流量信息
items[9] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f) + "Kb";// 上行wifi流量
items[10] = myFormat.format(receiver.getNetInfo().getWeekGprs()[1]/1024f) + "Kb";// 下行wifi流量
items[11] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f
+ receiver.getNetInfo().getWeekGprs()[1]/1024f)+ "Kb";//总的wifi流量
// 更新本月流量信息
items[13] = myFormat.format(receiver.getNetInfo().getMonthGprs()[0]/1024f/1024) + "Mb";// 上行wifi流量
items[14] = myFormat.format(receiver.getNetInfo().getMonthGprs()[1]/1024f/1024) + "Mb";// 下行wifi流量
items[15] = myFormat.format(receiver.getNetInfo().getMonthGprs()[0]/1024f/1024
+ receiver.getNetInfo().getMonthGprs()[1]/1024f/1024)+"Mb";
// 更新总流量信息
items[17] = myFormat.format(receiver.getNetInfo().getTotalGprs()[0]/1024f/1024) + "Mb";// 上行wifi流量
items[18] = myFormat.format(receiver.getNetInfo().getTotalGprs()[1]/1024f/1024) + "Mb";// 下行wifi流量
items[19] = myFormat.format(receiver.getNetInfo().getTotalGprs()[0]/1024f/1024
+receiver.getNetInfo().getTotalGprs()[1]/1024f/1024)+ "Mb";
}items[9] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f) + "Kb";// 上行wifi流量 这是第141行
在断点工作时,选中你想看的变量、函数等 点鼠标右键 有一个watch选项 可以看到详细的内容。直接把光标放在相关的变量上 也有会提示的。
显示的是NULL 那就奇怪了 为什么我这儿运行就要出错
public class MainActivity extends TabActivity {
private TabHost tabHost;// 标签管理
private Context context; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
tabHost = getTabHost(); Intent intent = new Intent(context, NetMonitorService.class);
startService(intent);// 启动服务
Log.i("net", "Main to startService"); tabHost.addTab(tabHost
.newTabSpec("tab_1")
.setIndicator("2G/3G",
getResources().getDrawable(R.drawable.mobile))
.setContent(new Intent(context, MobileActivity.class))); tabHost.addTab(tabHost
.newTabSpec("tab_2")
.setIndicator("WiFi",
getResources().getDrawable(R.drawable.wifi))
.setContent(new Intent(context, WiFiActivity.class)));
}}
我将其中的tab_1也就是监控2G/3G流量的标签注释掉 再运行程序时就成功了 只是仅仅只能统计WiFi的流量 我想问 是不是在模拟器上不能监控2G/3G的流量 而导致我运行程序时会报NULL错误 应为根本就没有数据?