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'instanceonCreateView()
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?
Vous devez vous connecter pour publier un commentaire.
D'Activité vous permet d'envoyer des données à l'intention de:
et du Fragment onCreateView méthode:
Ou de l'Utilisation du constructeur dans le fragment de transmettre des valeurs au fragment de l'initialisation de l'objet.
Votre Texte est :
Il devrait Être:
Edit :
Découvrez cette Question, qui est Lié à votre Problème:
Ici