En passant de la valeur entre l'activité de fragment sur android

Sur L'Activité:

@Override
 public void onTabSelected(Tab tab, FragmentTransaction ft) {
 //on tab selected
 //show respected fragment view
  Log.v("Test", "Menjalankan intent antar activity ke fragment");
  Bundle bundle=new Bundle();
  //String message= "From activity";
  int nilai=10;
  bundle.putInt("Nilai", nilai);
  Log.v("Testing", "Data yang akan dikirim "+nilai);
    //set Fragmentclass Arguments
  Lirik f=new Lirik();
  f.setArguments(bundle);

  viewPager.setCurrentItem(tab.getPosition());
 }

Fragment de code:

package com.example.egmim;

import com.example.support.dbAdapter;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;



public class Lirik extends Fragment{


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.lirik_view, container, false);

        Log.v("Testing", "Menjalankan proses pengambilan data dari activity");

        Bundle bundle = getArguments();
          if (bundle != null) {
              Log.v("Testing", "Data adalah ");
          }else{
              Log.v("Testing", "Data null");
          }



        //searchonDB();
        return rootView;
    }





}

Lorsque le compilateur dit: null exception à la ligne 25. (java.lang.nullexception)
et la ligne 25 est

  int strtext=getArguments().getInt("Nilai", 0);

Quel est le problème?

01-10 06:39:53.734: V/Testing(4097): Proses Intent dijalankan, nomor yang dipilih adalah 1

01-10 06:39:54.144: V/Test(4097): Menjalankan intent antar activity ke fragment

01-10 06:39:54.154: V/Testing(4097): Data yang akan dikirim 10

01-10 06:39:54.845: V/Testing(4097): Menjalankan proses pengambilan data dari activity

01-10 06:39:54.875: D/AndroidRuntime(4097): Shutting down VM

01-10 06:39:54.894: W/dalvikvm(4097): threadid=1: thread exiting with uncaught exception (group=0x41465700)

01-10 06:39:55.104: E/AndroidRuntime(4097): FATAL EXCEPTION: main

01-10 06:39:55.104: E/AndroidRuntime(4097): java.lang.NullPointerException

01-10 06:39:55.104: E/AndroidRuntime(4097):     at com.example.egmim.Lirik.onCreateView(Lirik.java:24)

01-10 06:39:55.104: E/AndroidRuntime(4097):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
  • Il devrait être int strtext=getArguments().getInt("nilai", 0);
  • Vous êtes de passage "nilai" comme clé, mais l'extraction avec "Nilai" la clé c'est pourquoi.
  • Mauvaise clé est passé, doit être "nilai"
  • toujours même après le fixer
  • Vous ne semblez pas faire quoi que ce soit à la Lirik fragment que vous êtes en train de créer ici. L'instance onCreateView() est exécuté sur est probablement quelque chose d'autre sans un faisceau d'arguments, d'où getArguments() renvoie la valeur null.
  • postez votre plein Fragment de code.
  • Bundle bundle = this.getArguments(); if (bundle != null) { Log.v("Testing", "Data adalah "); }else{ Log.v("Testing", "Data null"); } le résultat est null comment fixer pour que je puisse passer de la valeur? @SpringBreaker et @laalto
  • essayez d'ajouter des " int strtext= bundle .getInt("nilai");' cette ligne.
  • jetez un oeil à mon code complet du fragment @SpringBreaker
  • le journal est imprimé dans ce cas?
  • voir ma réponse.
  • ce qui suppose-je faire?

InformationsquelleAutor user3181552 | 2014-01-10