2016-09-30 9 views
0

Hallo Ich habe eine Frage zu Android Activity.Android Activity Button funktioniert nicht, wenn ich pageviewer verwende

java.lang.NullPointerException: Versuch virtuelle Methode aufzurufen 'Leere android.widget.Button.setOnClickListener (android.view.View $ OnClickListener)' auf ein Null-Objekt Referenz

was ich machen möchte ist eine Willkommensseite.

ich habe Main_welcome Seite

Activity_main genannt. drei Seitenlayout ist welcome_layout1welcome_layout2 und welcome_layout3.

Ich habe nur eine Aktivität, die das Folgende:

public class MainActivity extends AppCompatActivity { 
    private ViewPager myViewPager; 

    private View page1,page2,page3; 

    private List<View> pageList; 
    Button sign; 
    private MypageAdapter mypageAdapter; 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     initView(); 
     Button sign = (Button)this.findViewById(R.id.button_gotosign); 
     sign.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       setContentView(R.layout.sign); 
      } 
     }); 
    } 
    private void initView(){ 
     myViewPager = (ViewPager) findViewById(R.id.welcome_viewpager); 
     LayoutInflater inflater = getLayoutInflater(); 
     page1 = inflater.inflate(R.layout.welcome_layout1, null); 
     page2 = inflater.inflate(R.layout.welcome_layout2, null); 
     page3 = inflater.inflate(R.layout.welcome_layout3, null); 
     pageList = new ArrayList(); 
     pageList.add(page1); 
     pageList.add(page2); 
     pageList.add(page3); 
     mypageAdapter = new MypageAdapter(pageList); 
     myViewPager.setAdapter(mypageAdapter); 


    } 


} 

Ich habe eine Schaltfläche namens anmelden bei welcome_layout3

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/b3" 
    > 


    <Button 
     android:id="@+id/button_gotosign" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="sign" 
     android:textSize="@dimen/activity_vertical_margin" 
     android:textColor="#318C83" 
     android:background="#90000000" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginBottom="34dp"> 
    </Button> 


</RelativeLayout> 

, was ich tun möchte, ist, wenn der Benutzer öffne diese APP, er wird 3 Bilder zum Letzten rollen, und es gibt einen Knopf, den er anklicken kann, um zu signieren.

Wie funktioniert die Schaltfläche?

+0

'setContentView (R.layout.activity_main);' :) und sollte 'welcome_layout3' sein? –

+0

Mögliches Duplikat von [Was ist eine NullPointerException und wie behebe ich sie?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-fix-it) – Ironman

+0

Das Bereit für die Fehlermeldung teilt Ihnen die Codezeile mit, die den Fehler verursacht. Welche Linie ist das? –

Antwort

Verwandte Themen