#(Unable to start activity ComponentInfo{XXX}: java.lang.NullPointerException)#

wzysys1617 2014-07-22 06:17:00
新人求助!!!在调试的时候,Exception显示的错误是:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.Item_java}: java.lang.NullPointerException



怎么解决啊?求助啊!!有没有人帮我啊!!谢谢各位了!!!

代码如下:

public class BActivity extends ActivityGroup{

private ViewPager viewPager;//页卡内容
private ImageView imageView;// 动画图片
private Button button3,button4,button5,button6;
private List<View> views;// Tab页面列表
private int offset = 0;// 动画图片偏移量
private int currIndex = 0;// 当前页卡编号
private int bmpW;// 动画图片宽度
private View view1,view2,view3,view4;//各个页卡
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bmain);
InitImageView();
InitButtonView();
InitViewPager();
}

private void InitViewPager() {
viewPager=(ViewPager) findViewById(R.id.Bviewpager);
try{
view1 = getLocalActivityManager().startActivity("MainActivity",
new Intent(this, Item_java.class)).getDecorView(); //这个地方,try的时候无法通过。就在这里跳到catch了。
view2 = getLocalActivityManager().startActivity("MainActivity",
new Intent(this, Item_dotnet.class)).getDecorView();
view3 = getLocalActivityManager().startActivity("MainActivity",
new Intent(this, Item_insertapp.class)).getDecorView();
view4 = getLocalActivityManager().startActivity("MainActivity",
new Intent(this, Item_netmanagement.class)).getDecorView();
views=new ArrayList<View>();
views.add(view1);
views.add(view2);
views.add(view3);
views.add(view4);
viewPager.setAdapter(new MyViewPagerAdapter(views));
viewPager.setCurrentItem(0);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
catch (Exception e) {
// TODO: handle exception
int xx=1;
}

}
/**
* 初始化头标
*/

private void InitButtonView() {
button3 = (Button) findViewById(R.id.btn_java);
button4 = (Button) findViewById(R.id.btn_dotnet);
button5 = (Button) findViewById(R.id.btn_insertapp);
button6 = (Button) findViewById(R.id.btn_netmanagement);
button3.setOnClickListener(new MyOnClickListener(0));
button4.setOnClickListener(new MyOnClickListener(1));
button5.setOnClickListener(new MyOnClickListener(2));
button6.setOnClickListener(new MyOnClickListener(3));
}

/**
2 * 初始化动画,这个就是页卡滑动时,下面的横线也滑动的效果,在这里需要计算一些数据
3 */

private void InitImageView() {
imageView= (ImageView) findViewById(R.id.Bcursor);
bmpW = BitmapFactory.decodeResource(getResources(), R.drawable.a).getWidth();// 获取图片宽度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenW = dm.widthPixels;// 获取分辨率宽度
offset = (screenW /4 - bmpW) / 2;// 计算偏移量
Matrix matrix = new Matrix();
matrix.postTranslate(offset, 0);
imageView.setImageMatrix(matrix);// 设置动画初始位置
}
/**
*
* 头标点击监听 3 */
private class MyOnClickListener implements OnClickListener{
private int index=0;
public MyOnClickListener(int i){
index=i;
}
public void onClick(View v) {
viewPager.setCurrentItem(index);
}
}
public class MyViewPagerAdapter extends PagerAdapter{
private List<View> mListViews;

public MyViewPagerAdapter(List<View> mListViews) {
this.mListViews = mListViews;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mListViews.get(position));
}


@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mListViews.get(position), 0);
return mListViews.get(position);
}

@Override
public int getCount() {
return mListViews.size();
}

@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
}
public class MyOnPageChangeListener implements OnPageChangeListener{

int one = offset * 2 + bmpW;// 页卡1 -> 页卡2 偏移量
int two = one * 2;// 页卡1 -> 页卡3 偏移量
int three = one * 3;// 页卡1 -> 页卡4偏移量
public void onPageSelected(int arg0) {

Animation animation = new TranslateAnimation(one*currIndex, one*arg0, 0, 0);
currIndex = arg0;
animation.setFillAfter(true);// True:图片停在动画结束位置
animation.setDuration(300);
imageView.startAnimation(animation);

}
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}

}

}


谢谢大家!!!!!!!!!!!!!!!
...全文
685 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 20 楼 heaimnmn 的回复:
最好写成activity.this,你看下R.id.dotnetliulanrenshu1是否有值
好了,调试好了。这个问题初步解决了。 下面又有问题了……我自己慢慢调试吧。谢谢你们的帮助。有问题我还想请教你们
哎,真难 2014-07-22
  • 打赏
  • 举报
回复
最好写成activity.this,你看下R.id.dotnetliulanrenshu1是否有值
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 18 楼 heaimnmn 的回复:
[quote=引用 15 楼 wzysys1617 的回复:] [quote=引用 14 楼 heaimnmn 的回复:] 你这里还是debug看下哪个控件没有ID咯,因为你实例化了它所以这里处错误的话BA会报错,,,
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。[/quote]oncreate那里肯定可以debug到,因为你再上一个父viewgroup的实例化这个activity,它就有了生命周期,这就是tabhost实现原理呗,,,[/quote] 哇~我弄到了,是tvliulanrenshu这个变量没有赋值,是空指针。

tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
这句话有错吧。用this不行?
哎,真难 2014-07-22
  • 打赏
  • 举报
回复
引用 15 楼 wzysys1617 的回复:
[quote=引用 14 楼 heaimnmn 的回复:] 你这里还是debug看下哪个控件没有ID咯,因为你实例化了它所以这里处错误的话BA会报错,,,
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。[/quote]oncreate那里肯定可以debug到,因为你再上一个父viewgroup的实例化这个activity,它就有了生命周期,这就是tabhost实现原理呗,,,
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 16 楼 heaimnmn 的回复:
引用 13 楼 wzysys1617 的回复:
[quote=引用 12 楼 heaimnmn 的回复:] [quote=引用 7 楼 han1202012 的回复:] 问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
哈哈,专解决简单问题,没有啦,楼主点了邀请我回答,,,
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn[/quote]小白都会用viewgroup了,碉堡的节奏啊,我身为版主都不会,面壁思过去了,,,[/quote] 版主会用 ctrl+c ctrl+v 吗?
哎,真难 2014-07-22
  • 打赏
  • 举报
回复
引用 13 楼 wzysys1617 的回复:
引用 12 楼 heaimnmn 的回复:
[quote=引用 7 楼 han1202012 的回复:] 问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
哈哈,专解决简单问题,没有啦,楼主点了邀请我回答,,,
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn[/quote]小白都会用viewgroup了,碉堡的节奏啊,我身为版主都不会,面壁思过去了,,,
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 14 楼 heaimnmn 的回复:
你这里还是debug看下哪个控件没有ID咯,因为你实例化了它所以这里处错误的话BA会报错,,,
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。
哎,真难 2014-07-22
  • 打赏
  • 举报
回复
你这里还是debug看下哪个控件没有ID咯,因为你实例化了它所以这里处错误的话BA会报错,,,
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 12 楼 heaimnmn 的回复:
引用 7 楼 han1202012 的回复:
问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
哈哈,专解决简单问题,没有啦,楼主点了邀请我回答,,,
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn
哎,真难 2014-07-22
  • 打赏
  • 举报
回复
引用 7 楼 han1202012 的回复:
问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
哈哈,专解决简单问题,没有啦,楼主点了邀请我回答,,,
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 9 楼 han1202012 的回复:
com.andyidea.tabdemo.Item_java.onCreate(Item_java.java:77) 在 Item_java 的 77 行 出现的问题 什么代码啊 这个 Item_java 类的代码 贴下
package com.andyidea.tabdemo;

import java.io.UnsupportedEncodingException;

import org.json.JSONArray;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import com.andyidea.tabdemo.AsyncImageLoader;
import com.andyidea.tabdemo.CallbackImpl;
import com.andyidea.tabdemo.R;
import com.studyonline.connsoap.DBUtil;

import android.app.ActivityGroup;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Item_java extends ActivityGroup{

	
	static TextView tvtext;
	static TextView tvjiage;
	static TextView tvliulanrenshu;
	static LinearLayout linearlo;
	
	
	private AsyncImageLoader loader = new AsyncImageLoader();
	private static String URL=DBUtil.getURL();
	private static String NAMESPACE=DBUtil.getNAMESPACE();
	//调用方法名
	private static String METHOD_NAME="SelectVideoByType ";
	private static String SOAP_ACTION=NAMESPACE+METHOD_NAME;
	
	private static int[] javatexta={R.id.javatext1,R.id.javatext2,R.id.javatext3,R.id.javatext4,
		R.id.javatext5,R.id.javatext6,R.id.javatext7,R.id.javatext8,R.id.javatext9,R.id.javatext10,
		R.id.javatext11,R.id.javatext12,R.id.javatext13,R.id.javatext14,R.id.javatext15};
	
	
	private static int[] javapica={R.id.javapic1,R.id.javapic2,R.id.javapic3,R.id.javapic4,R.id.javapic5,
		R.id.javapic6,R.id.javapic7,R.id.javapic8,R.id.javapic9,R.id.javapic10,R.id.javapic11,
		R.id.javapic12,R.id.javapic13,R.id.javapic14,R.id.javapic15};
	
	
	private static int[] javajiagea={R.id.javajiage1,R.id.javajiage2,R.id.javajiage3,R.id.javajiage4,
		R.id.javajiage5,R.id.javajiage6,R.id.javajiage7,R.id.javajiage8,R.id.javajiage9,R.id.javajiage10,
		R.id.javajiage11,R.id.javajiage12,R.id.javajiage13,R.id.javajiage14,R.id.javajiage15};
	
	
	private static int[] javaa={0,R.id.java2,R.id.java3,R.id.java4,R.id.java5,
		R.id.java6,R.id.java7,R.id.java8,R.id.java9,R.id.java10,R.id.java11,
		R.id.java12,R.id.java13,R.id.java14,R.id.java15};
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.item_java);
		
		for(int x=0;x < 10;x++)
		{
			String[] java=getVideoJSON("", "Java技术",x);
			if(java[x]==null)
				break;
			else 
			{
				if(x==0)
				{
					tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
					tvliulanrenshu.setText(java[3]+"人");
					tvtext=(TextView)findViewById(javatexta[x]);
					tvjiage=(TextView)findViewById(javajiagea[x]);
					tvtext.setText(java[0]);
					tvjiage.setText(java[1]+"元");
				}
				else 
				{
					linearlo=(LinearLayout)this.findViewById(javaa[x]);
					linearlo.setVisibility(View.VISIBLE);
					loadImage("http://192.168.1.112:8001/" + java[2],javapica[x]);
					tvtext=(TextView)this.findViewById(javatexta[x]);
					tvjiage=(TextView)this.findViewById(javajiagea[x]);
					tvtext.setText(java[0]);
					tvjiage.setText(java[1]+"元");
				} 
			}
		}
		
	}
	
	
	public static String[] getVideoJSON(String strUPhone,String strVD,int index)
	{
		String[] str=null;
		try {
			
			SoapObject rpc=new SoapObject(NAMESPACE, METHOD_NAME);
//			设置调用方法的参数值,如果没有参数,可以省略,但是我们一般都有参数的	
			rpc.addProperty("UPhone", strUPhone);
			rpc.addProperty("VD", strVD);
			
			SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
			envelope.bodyOut = rpc;
			envelope.dotNet = true;
			envelope.setOutputSoapObject(rpc);
			
			HttpTransportSE ht=new HttpTransportSE(URL);
			ht.debug=true;
			ht.call(SOAP_ACTION, envelope);
			
			SoapObject detail=(SoapObject) envelope.getResponse();
			System.out.println("detail" + detail);
			
			str=JsonToString(detail,index);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return str;
		
	}
	
	
	@SuppressWarnings("null")
	public static String[] JsonToString(SoapObject detail,int index) throws UnsupportedEncodingException 
	{
		String[] namepricepic={"","","",""};
		try {
			String strJson=detail.getProperty(index).toString();
			JSONObject dataJson=new JSONObject(strJson);
			JSONArray tbVideo=dataJson.getJSONArray("tbVideo");

			JSONObject info=tbVideo.getJSONObject(index);
			namepricepic[0]=info.getString("VideoName");
			namepricepic[1]=info.getString("VideoPrice");	
			namepricepic[2]=info.getString("VideoPic");
			namepricepic[3]=info.getString("VideoPeople");
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return namepricepic;
	}
	
	
	//url:下载图片的url
		//id:ImageView控件的id
		private void loadImage(final String url, final int id) {
			// TODO Auto-generated method stub
			//如果缓存过就会从缓存中取出图像,ImageCallback接口中方法也不会被执行
			ImageView imageView = (ImageView) findViewById(id);
			CallbackImpl callbackImpl = new CallbackImpl(imageView);
			Drawable cacheImage = loader.loadDrawable(url, callbackImpl);
			if(cacheImage!=null){
				imageView.setImageDrawable(cacheImage);
			}
		}
		

}
看这个完整的吧。上面那个是把import 缩去了
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 9 楼 han1202012 的回复:
com.andyidea.tabdemo.Item_java.onCreate(Item_java.java:77) 在 Item_java 的 77 行 出现的问题 什么代码啊 这个 Item_java 类的代码 贴下
public class Item_java extends ActivityGroup{

	
	static TextView tvtext;
	static TextView tvjiage;
	static TextView tvliulanrenshu;
	static LinearLayout linearlo;
	
	
	private AsyncImageLoader loader = new AsyncImageLoader();
	private static String URL=DBUtil.getURL();
	private static String NAMESPACE=DBUtil.getNAMESPACE();
	//调用方法名
	private static String METHOD_NAME="SelectVideoByType ";
	private static String SOAP_ACTION=NAMESPACE+METHOD_NAME;
	
	private static int[] javatexta={R.id.javatext1,R.id.javatext2,R.id.javatext3,R.id.javatext4,
		R.id.javatext5,R.id.javatext6,R.id.javatext7,R.id.javatext8,R.id.javatext9,R.id.javatext10,
		R.id.javatext11,R.id.javatext12,R.id.javatext13,R.id.javatext14,R.id.javatext15};
	
	
	private static int[] javapica={R.id.javapic1,R.id.javapic2,R.id.javapic3,R.id.javapic4,R.id.javapic5,
		R.id.javapic6,R.id.javapic7,R.id.javapic8,R.id.javapic9,R.id.javapic10,R.id.javapic11,
		R.id.javapic12,R.id.javapic13,R.id.javapic14,R.id.javapic15};
	
	
	private static int[] javajiagea={R.id.javajiage1,R.id.javajiage2,R.id.javajiage3,R.id.javajiage4,
		R.id.javajiage5,R.id.javajiage6,R.id.javajiage7,R.id.javajiage8,R.id.javajiage9,R.id.javajiage10,
		R.id.javajiage11,R.id.javajiage12,R.id.javajiage13,R.id.javajiage14,R.id.javajiage15};
	
	
	private static int[] javaa={0,R.id.java2,R.id.java3,R.id.java4,R.id.java5,
		R.id.java6,R.id.java7,R.id.java8,R.id.java9,R.id.java10,R.id.java11,
		R.id.java12,R.id.java13,R.id.java14,R.id.java15};
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.item_java);
		
		for(int x=0;x < 10;x++)
		{
			String[] java=getVideoJSON("", "Java技术",x);
			if(java[x]==null)
				break;
			else 
			{
				if(x==0)
				{
					tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
					tvliulanrenshu.setText(java[3]+"人");
					tvtext=(TextView)findViewById(javatexta[x]);
					tvjiage=(TextView)findViewById(javajiagea[x]);
					tvtext.setText(java[0]);
					tvjiage.setText(java[1]+"元");
				}
				else 
				{
					linearlo=(LinearLayout)this.findViewById(javaa[x]);
					linearlo.setVisibility(View.VISIBLE);
					loadImage("http://192.168.1.112:8001/" + java[2],javapica[x]);
					tvtext=(TextView)this.findViewById(javatexta[x]);
					tvjiage=(TextView)this.findViewById(javajiagea[x]);
					tvtext.setText(java[0]);
					tvjiage.setText(java[1]+"元");
				} 
			}
		}
		
	}
	
	
	public static String[] getVideoJSON(String strUPhone,String strVD,int index)
	{
		String[] str=null;
		try {
			
			SoapObject rpc=new SoapObject(NAMESPACE, METHOD_NAME);
//			设置调用方法的参数值,如果没有参数,可以省略,但是我们一般都有参数的	
			rpc.addProperty("UPhone", strUPhone);
			rpc.addProperty("VD", strVD);
			
			SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
			envelope.bodyOut = rpc;
			envelope.dotNet = true;
			envelope.setOutputSoapObject(rpc);
			
			HttpTransportSE ht=new HttpTransportSE(URL);
			ht.debug=true;
			ht.call(SOAP_ACTION, envelope);
			
			SoapObject detail=(SoapObject) envelope.getResponse();
			System.out.println("detail" + detail);
			
			str=JsonToString(detail,index);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return str;
		
	}
	
	
	@SuppressWarnings("null")
	public static String[] JsonToString(SoapObject detail,int index) throws UnsupportedEncodingException 
	{
		String[] namepricepic={"","","",""};
		try {
			String strJson=detail.getProperty(index).toString();
			JSONObject dataJson=new JSONObject(strJson);
			JSONArray tbVideo=dataJson.getJSONArray("tbVideo");

			JSONObject info=tbVideo.getJSONObject(index);
			namepricepic[0]=info.getString("VideoName");
			namepricepic[1]=info.getString("VideoPrice");	
			namepricepic[2]=info.getString("VideoPic");
			namepricepic[3]=info.getString("VideoPeople");
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return namepricepic;
	}
	
	
	//url:下载图片的url
		//id:ImageView控件的id
		private void loadImage(final String url, final int id) {
			// TODO Auto-generated method stub
			//如果缓存过就会从缓存中取出图像,ImageCallback接口中方法也不会被执行
			ImageView imageView = (ImageView) findViewById(id);
			CallbackImpl callbackImpl = new CallbackImpl(imageView);
			Drawable cacheImage = loader.loadDrawable(url, callbackImpl);
			if(cacheImage!=null){
				imageView.setImageDrawable(cacheImage);
			}
		}
		

}
韩曙亮 2014-07-22
  • 打赏
  • 举报
回复
com.andyidea.tabdemo.Item_java.onCreate(Item_java.java:77) 在 Item_java 的 77 行 出现的问题 什么代码啊 这个 Item_java 类的代码 贴下
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 7 楼 han1202012 的回复:
问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
在楼上~~~~~~~谢谢你!!!帮忙看下
韩曙亮 2014-07-22
  • 打赏
  • 举报
回复
问题简单了 回答的就是多啊 贴出完整 log 日志信息 把红色的部分全复制上来
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 5 楼 sagittarius1988 的回复:
[quote=引用 4 楼 wzysys1617 的回复:] [quote=引用 3 楼 sagittarius1988 的回复:] 首先,你定义的控件是否在 bmain.xml里,其次,你的bmain.xml是放在哪个资源文件夹下,有时可能跟测试机对应的dpi资源目录下,你没有定义这些控件
bmain.xml在res的layout里面。 前两个方法 InitImageView(); InitButtonView(); 都能通过,只有InitViewPager();无法通过。 我定义的控件在bmain里面都有。[/quote] 是哪句空指针呢?贴完整的log[/quote] 07-22 10:19:17.697: E/AndroidRuntime(781): FATAL EXCEPTION: main 07-22 10:19:17.697: E/AndroidRuntime(781): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.BActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.Item_java}: java.lang.NullPointerException 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1656) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:676) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost.setCurrentTab(TabHost.java:345) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost.setCurrentTabByTag(TabHost.java:282) 07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.MainTabActivity.onCheckedChanged(MainTabActivity.java:58) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.setChecked(CompoundButton.java:124) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.toggle(CompoundButton.java:86) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.RadioButton.toggle(RadioButton.java:72) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.performClick(CompoundButton.java:98) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.view.View$PerformClick.run(View.java:11934) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Handler.handleCallback(Handler.java:587) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Handler.dispatchMessage(Handler.java:92) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Looper.loop(Looper.java:132) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.main(ActivityThread.java:4123) 07-22 10:19:17.697: E/AndroidRuntime(781): at java.lang.reflect.Method.invokeNative(Native Method) 07-22 10:19:17.697: E/AndroidRuntime(781): at java.lang.reflect.Method.invoke(Method.java:491) 07-22 10:19:17.697: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 07-22 10:19:17.697: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 07-22 10:19:17.697: E/AndroidRuntime(781): at dalvik.system.NativeStart.main(Native Method) 07-22 10:19:17.697: E/AndroidRuntime(781): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.Item_java}: java.lang.NullPointerException 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1656) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.BActivity.InitViewPager(BActivity.java:44) 07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.BActivity.onCreate(BActivity.java:39) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Activity.performCreate(Activity.java:4397) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) 07-22 10:19:17.697: E/AndroidRuntime(781): ... 21 more 07-22 10:19:17.697: E/AndroidRuntime(781): Caused by: java.lang.NullPointerException 07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.Item_java.onCreate(Item_java.java:77) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Activity.performCreate(Activity.java:4397) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) 07-22 10:19:17.697: E/AndroidRuntime(781): ... 29 more 这些,能看清吗?不行我就截图
sagittarius1988 2014-07-22
  • 打赏
  • 举报
回复
引用 4 楼 wzysys1617 的回复:
[quote=引用 3 楼 sagittarius1988 的回复:] 首先,你定义的控件是否在 bmain.xml里,其次,你的bmain.xml是放在哪个资源文件夹下,有时可能跟测试机对应的dpi资源目录下,你没有定义这些控件
bmain.xml在res的layout里面。 前两个方法 InitImageView(); InitButtonView(); 都能通过,只有InitViewPager();无法通过。 我定义的控件在bmain里面都有。[/quote] 是哪句空指针呢?贴完整的log
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 3 楼 sagittarius1988 的回复:
首先,你定义的控件是否在 bmain.xml里,其次,你的bmain.xml是放在哪个资源文件夹下,有时可能跟测试机对应的dpi资源目录下,你没有定义这些控件
bmain.xml在res的layout里面。 前两个方法 InitImageView(); InitButtonView(); 都能通过,只有InitViewPager();无法通过。 我定义的控件在bmain里面都有。
sagittarius1988 2014-07-22
  • 打赏
  • 举报
回复
首先,你定义的控件是否在 bmain.xml里,其次,你的bmain.xml是放在哪个资源文件夹下,有时可能跟测试机对应的dpi资源目录下,你没有定义这些控件
wzysys1617 2014-07-22
  • 打赏
  • 举报
回复
引用 1 楼 heaimnmn 的回复:
NullPointerException空指针是说你控件没有绑定到ID,你把所有红色贴出来看下,或者自己debug下就知道了,,,
我就是用的debug看到exception的内容的。控件没有帮到内容,是空指针,我知道,可是不知道怎么解决。 请教你……
加载更多回复(1)

80,350

社区成员

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

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