实际上在我的应用程序中,我已经将活动设置为主要活动,我在该活动中检查在此活动中检索的某些文本包值的条件,该活动是在检查edittext长度是否为null并且根据该开放时启动活动每个条件的相应活动,但它给我一个错误: -
11-16 12:40:48.588: E/AndroidRuntime(456): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.avigma.shpoonkle/com.avigma.shpoonkle.CheckActivity}: java.lang.NullPointerException
11-16 12:40:48.588: E/AndroidRuntime(456): at com.avigma.shpoonkle.CheckActivity.onCreate(CheckActivity.java:19)
我正在提供我的CheckActivity课程,请帮助我...提前感谢...
public class CheckActivity extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle i= getIntent().getExtras();
String a=i.getString("a");
String b12=i.getString("b12");
String c1=i.getString("c1");
String d=i.getString("d");
String e111=i.getString("e111");
String h=i.getString("h");
Intent i1;
if((a.length()>1)&&(b12.length()>1)&&(c1.length()>1)&&(d.length()>1)&&(e111.length()>1)&&(h.length()>1))
{
i1 =new Intent(getApplicationContext(),ShpoonkleActivity.class);
}
else
{
i1=new Intent(getApplicationContext(),Test.class);
}
startActivity(i1);
finish();
}
}
答案 0 :(得分:2)
检查第19行。 nullPointerException意味着您正在尝试访问实际为null的对象/变量。
粗略地看一眼if((a.length()>1)&&(b12.length()>1)&&(c1.length()>1)&&(d.length()>1)&&(e111.length()>1)&&(h.length()>1))
似乎是a / b12 ......可能为空的行
答案 1 :(得分:0)
如果我没有弄错的话,您已将CheckActivity设置为主要启动器活动。那么如何发送额外内容以启动该活动?当您的应用程序打开时,该活动会自动调用。
另外,如果您要检查getIntent().hasExtra("a")
并且其他字符串也一样,那么您将始终获得false
,因为您的意图不会附加任何此类附加内容。
所以基本上,你的工作方式不合适。使用其他解决方案来满足你的需求。