2014-01-21 5 views
0

У меня есть мой экран входа в систему, и на одной из страниц ViewPager есть кнопка входа. Я пытаюсь сделать эту кнопку прямо на главную деятельность, потому что у меня еще не все серверные части. Когда я делаю это, хотя, я получаю эту ошибку:Не могу назвать намерение от FragmentActivity

01-21 14:51:33.499: E/AndroidRuntime(2256): FATAL EXCEPTION: main 
01-21 14:51:33.499: E/AndroidRuntime(2256): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fbla.sap/com.fbla.sap.LoginActivity}: java.lang.NullPointerException 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread.access$700(ActivityThread.java:165) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.os.Looper.loop(Looper.java:137) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread.main(ActivityThread.java:5450) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at java.lang.reflect.Method.invoke(Method.java:525) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at dalvik.system.NativeStart.main(Native Method) 
01-21 14:51:33.499: E/AndroidRuntime(2256): Caused by: java.lang.NullPointerException 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at com.fbla.sap.LoginActivity.onCreate(LoginActivity.java:23) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.Activity.performCreate(Activity.java:5369) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267) 
01-21 14:51:33.499: E/AndroidRuntime(2256):  ... 11 more 

Вот мой исходный код для LoginActivity.java:

package com.fbla.sap; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.support.v4.view.ViewPager; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 

public class LoginActivity extends FragmentActivity { 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

     ViewPager viewPager = (ViewPager) findViewById(R.id.pager); 
     viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager())); 

     Button loginBtn = (Button) findViewById(R.id.loginBtn); 
     loginBtn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent intent = new Intent(LoginActivity.this, InterfaceActivity.class); 
       startActivity(intent); 
      } 

     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.login, menu); 
     return true; 
    } 

} 
+1

Вы уверены, что res/layout/activity_login.xml содержит

ответ

0
Button loginBtn = (Button) findViewById(R.id.loginBtn); 

loginBtn вероятно нуль.

+0

Это может быть. У меня есть кнопка в одном из моих фрагментов, а не в представлении, созданном этим фрагментом. Любые варианты того, как это исправить? –

+0

Поскольку это фрагмент, вы должны поместить эту часть кликмена в свой фрагмент, а когда ваш фрагмент находится на переднем плане и будет нажат, он откроет MainActivity. –

+0

Я понял. Спасибо! –

Смежные вопросы