我正在使用需要登录的android应用程序,现在我想要成功登录我的应用程序后,登录按钮应该是不可见的,并且应该可以看到注销按钮,但是会出错。
我正在使用此功能:
login.setVisibility(View.GONE); & logout.setVisibility(View.VISIBLE);
Eclipse在logcat中给我错误,如:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rahul.cheerfoolz/com.rahul.cheerfoolz.CheerfoolznativeActivity}: java.lang.NullPointerException.
Main.class
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
session = new SessionID();
Button login = (Button) findViewById(R.id.home_btn_feature_login);
Button logout = (Button) findViewById(R.id.home_btn_feature_logout);
int userID = SessionID.getUserID();
System.out.println("value of the userID into the main page:====>"+userID);
// when user login then here I got the userID value
if ((userID) > 0) {
login.setVisibility(View.GONE); //when Execute this give me error
logout.setVisibility(View.VISIBLE); //when Execute this give me error
} else {
login.setVisibility(View.VISIBLE); //when Execute this give me error
logout.setVisibility(View.GONE); //when Execute this give me error
}
setContentView(R.layout.main);
setHeader_home("");
}
main.xml中
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<!-- Here Login Button -->
<Button
android:id="@+id/home_btn_feature_login"
style="@style/HomeButton"
android:drawableTop="@drawable/login_button"
android:onClick="onClickFeature"
android:text="@string/title_feature_login" />
<!-- Here Logout Button -->
<Button
android:id="@+id/home_btn_feature_logout"
style="@style/HomeButton"
android:drawableTop="@drawable/logout_button"
android:onClick="onClickFeature"
android:text="@string/title_feature_logout" />
<Button
android:id="@+id/home_btn_feature2"
style="@style/HomeButton"
android:drawableTop="@drawable/register_button"
android:onClick="onClickFeature"
android:text="@string/title_feature_register" />
</LinearLayout>
答案 0 :(得分:4)
您必须在setContentView(R.layout.main)
之后添加super.onCreate(savedInstanceState);
或before Accessing Any View from XML Layout File
。然后你的Button从xml.and获取引用代码无法从main.xml获取Button引用.so NullPointerException。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);<<<<<<<<<<<<<<ADD THIS LINE
session = new SessionID();
Button login = (Button) findViewById(R.id.home_btn_feature_login);
Button logout = (Button) findViewById(R.id.home_btn_feature_logout);
答案 1 :(得分:4)
在setContentView(R.layout.main);
super.onCreate(savedInstanceState);