J'ai MyFragment
classe qui reçoit des intentions de diffusion -Set et obtenir les méthodes ne fonctionnent pas correctement
if(intent.getAction().equals(BroadcastHelper.DEPARTURE_TIME)){
Bundle args = intent.getExtras();
if (args != null) {
departure_time = args.getInt("Departure");
Log.d("hi","vehicle viv0" + departure_time);
setDepTime(departure_time);
}
}
else if(intent.getAction().equals(BroadcastHelper.ARRIVAL_TIME)){
Bundle args = intent.getExtras();
if (args != null) {
arrival_time = args.getInt("Arrival");
Log.d("hi","vehicle viv1" + arrival_time);
setArrivalTime(arrival_time);
}
}
}
};
//public method to set the time variable
public void setArrivalTime(int arrival_time){
Log.d("hi","vehicle viv2" + arrival_time);
this.arrival_time = arrival_time;
Log.d("hi","vehicle viv3" + this.arrival_time);
}
//public method to set the time variable
public void setDepTime(int departure_time){
this.departure_time = departure_time;
}
public int getArrivalTime(){
Log.d("hi","vehicle viv5" + this.arrival_time);
return this.arrival_time;
}
public int getDepTime(){
return this.departure_time;
}
Je suis en train de la valeur de arrival_time et departure_time comme ci-dessus. Maintenant, de MyOwn
classe, je fais ces -
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
..........
Button okButton = (Button) rootView.findViewById(R.id.myxml);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyFragment mFragment = new MyFragment();
int depi = mFragment.getDepTime();
}
});
MyFragment mFragment = new StopListFragment();
int arri = mFragment.getArrivalTime();
Log.d("hi","vehicle viv6" + arri);
}
Quand j'utilise getArrivalTime()
, je reçois 0
. Les journaux sont -
D/hi: vehicle viv1 = 13012
D/hi: vehicle viv2 = 13012
D/hi: vehicle viv3 = 13012
D/hi: vehicle viv5 = 0
D/hi: vehicle viv6 = 0
Y at-il un problème?
Ok, comment puis-je passer l'instance de l'objet fragment puis à la classe MyOwn – Samuel909
, essayez de définir le paramètre 'arrival_time & departure_time' comme étant 'static'. – sJy
cool :) ça a marché. Je vous remercie – Samuel909