2017-07-04 2 views
1

Ich arbeite mit Android-Aktivitäten, und versuchen, eine Aktivität zu starten, wenn auf die vorherige Aktivität auf eine Schaltfläche geklickt wird, starten das Problem in Absicht, weil der erste Parameter, d. Kontextparameter des Intent-Konstruktors funktioniert nicht mit "this, MainActivity.this, getApplicationContext(), getBaseContext" Ich habe alle Parameter im ersten Parameter des Intent-Konstruktorobjekts ausprobiert. Unten ist mein Code.Intent-Objekt mit Fehler Android

package com.example.nadeemahmad.guitest; 


import android.content.Intent; 
import android.support.annotation.IdRes; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.RelativeLayout; 


public class MainActivity extends AppCompatActivity { 
    Button ma_sub_btn,prof_sub_btn; 
    RelativeLayout ma_rel_lay2,ma_rel_lay3,ma_dots_ly; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     ma_sub_btn = (Button)findViewById(R.id.ma_sub_btn); 
     ma_rel_lay2 = (RelativeLayout)findViewById(R.id.ma_rel_lay2); 
     ma_rel_lay3 = (RelativeLayout)findViewById(R.id.ma_rel_lay3); 
     ma_dots_ly = (RelativeLayout)findViewById(R.id.ma_dots_ly); 

     ma_sub_btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       ma_rel_lay2.setVisibility(View.GONE); 
       ma_rel_lay3.setVisibility(View.VISIBLE); 
       ma_dots_ly.setVisibility(View.GONE); 
      } 
     }); 

     prof_sub_btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent i = new Intent(this, profile.class); 
       startActivity(i); 
      } 
     }); 


    } 




} 

Image

+0

Post die Stack-Trace –

+0

die Crash-Logcat, wo Sie sehen, was passiert aka "Android-Monitor" am unteren Rand von Android-Studio – yanivtwin

+1

Sie nicht initialisiert ** prof_sub_btn ** in Ihrem Code –

Antwort

2

Sie erhalten NullPointerException für Button prof_sub_btn. Das Problem ist, dass Sie Taste nicht initialisiert haben prof_sub_btn vor OnClickListener es Einstellung ..

Try this:

prof_sub_btn = (Button) findViewById(R.id.prof_sub_btn); 
prof_sub_btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent i = new Intent(MainActivity.this, profile.class); 
      startActivity(i); 
     } 
    }); 
+0

OMG! Danke, ich habe das nicht gemacht –

+1

@Kode Gylaxy hast du meinen Kommentar gelesen, ich habe dich lange zurück gefragt, hast du initialisiert, trotzdem hast du dein Problem gelöst (Y). –

+0

@KodeGylaxy Herzlichst willkommen. Wenn meine Antwort nützlich erscheint, dann hoffe ich, dass Sie eine positive Bewertung abgeben. Vielen Dank im Voraus :) – FAT

0

Sie this innerhalb onClick geschrieben haben ... versuchen MainActivity.this writting und es sollte click here

Intent i = new Intent(MainActivity.this, profile.class);

in Ihrem Fall zur Verwendung von this Stichwort .. mehr arbeiten nach dem Ansehen Stacktrace ans sollte prof_sub_btn Schaltfläche mit XML binden.

+0

Lesen Sie die Frage erneut dude –

+0

Dies ist, was ich versuchte und ich erwähnte in der frage auch, indem ich "MainActivity.this, getApplicationContext(), getBaseContext" abstürze meine App und stoppe es von –

+0

ausgeführt Intent i = neue Absicht (this, profile.class); 'Diese Zeile würde nie funktionieren, da es innen ist OnClick. alles, was Sie tun müssen, ist "Intent i = neue Absicht (MainActivity.this, profile.class);' –

0

Fügen Sie diese Zeile nach dem eingestellten Inhalt Ansicht:

prof_sub_btn = (Button)findViewById(R.id.prof_sub_btn); 
Verwandte Themen