2016-06-05 4 views
-1

Ich bin immer diesen Fehler java.lang.RuntimeException: Kann Aktivität ComponentInfo {com.kosalgeek.android.androidphpmysql/com.kosalgeek.android.androidphpmysql.YoutubeActivity instanziiert }: java.lang.NullPointerException: Der Versuch, virtuelle Methode 'java.io.Serializable android.content.Intent.getSerializableExtra (java.lang.String)' auf ein null-Objekt Verweis aufrufen Da ist etwas falsch mitVersuch, virtuelle Methode auf ein Null-Objekt Verweis aufrufen für VIDEO_ID

Video_id

. Ich erhalte VIDEO_ID Wert von einer anderen Klasse, die product.java

aus dem folgende Skript zurückkehren würde

public class YoutubeActivity extends YouTubeBaseActivity implements 
    YouTubePlayer.OnInitializedListener { 
Product product = (Product) getIntent().getSerializableExtra("product"); 
TextView etName, etPrice, etQty, etImageUrl; 
ImageView ivImage; 
String VIDEO_ID; 

private static final int RECOVERY_DIALOG_REQUEST = 10; 
public static final String API_KEY = ""; 
/** 
* ATTENTION: This was auto-generated to implement the App Indexing API. 
* See https://g.co/AppIndexing/AndroidStudio for more information. 
*/ 
private GoogleApiClient client; 




@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_youtube); 

    YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
    youTubeView.initialize(API_KEY, this); 

    etName = (TextView) findViewById(R.id.etName); 
    etPrice = (TextView) findViewById(R.id.etPrice); 
    etQty = (TextView) findViewById(R.id.etQty); 
    if (product != null) { 
     etName.setText(product.name); 
     etPrice.setText("" + product.views); 
     etQty.setText("" + product.v); 
     VIDEO_ID = product.name ; 


    } 


    // ATTENTION: This was auto-generated to implement the App Indexing API. 
    // See https://g.co/AppIndexing/AndroidStudio for more information. 
    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 
} 


@Override 
public void onInitializationFailure(YouTubePlayer.Provider provider, 
            YouTubeInitializationResult errorReason) { 
    if (errorReason.isUserRecoverableError()) { 
     errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show(); 
    } else { 
     String errorMessage = String.format("YouTube Error (%1$s)", 
       errorReason.toString()); 
     Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show(); 
    } 

} 

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, 
            YouTubePlayer player, boolean wasRestored) { 
    if (!wasRestored) { 
     player.cueVideo(VIDEO_ID); 
    } 
} 

Antwort

1

getIntent() null ist, es sei denn onCreate Methode aufgerufen wird. Sie verwenden getIntent von einem Feldinitialisierer.

ändern

Product product = (Product) getIntent().getSerializableExtra("product"); 

zu

Product product; 

und fügen Sie diese onCreate Methode

product = (Product) getIntent().getSerializableExtra("product"); 
Verwandte Themen