devi usare getActivity ()
come questo
Toast.makeText(getActivity() , ......
Domanda
Ho questo adattatore per i frammenti:
public class TabsPagerAdapter extends FragmentPagerAdapter {
private Context context;
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
// Main fragment activity
return new main();
case 1:
// Sensors fragment activity
return new sensors();
case 2:
// Display fragment activity
return new display();
case 3:
// Settings fragment activity
return new settings();
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 4;
}
}
Sto tre per fare un pulsante Indietro uscita con doppio tocco e brindisi in questo modo:
private static final long DOUBLE_PRESS_INTERVAL = 2000000000;
private long lastPressTime;
public void onBackPressed() {
Toast.makeText(context,
Resources.getSystem().getString(R.string.kilepes_dupla),
Toast.LENGTH_SHORT).show();
long pressTime = System.nanoTime();
if (pressTime - lastPressTime <= DOUBLE_PRESS_INTERVAL) {
// this is a double click event
System.exit(0);
}
lastPressTime = pressTime;
}
Quello che non posso fare è ottenere il contesto nel brindisi, quindi non posso mostrarlo. Come posso modificare il codice per farlo funzionare? Grazie per le tue risposte!
EDIT1:Ok, questo tutorial quello che sto usando:Androidhivee voglio fare questo metodo di uscita su ogni scheda
Soluzione 3
devi usare getActivity ()
come questo
Toast.makeText(getActivity() , ......
Altri suggerimenti
Dovresti essere nel Activity
contesto (onbackpressed è un metodo di Activity
), quindi dovresti cambiare context
insieme a this
Prova questo:
public class TabsPagerAdapter extends FragmentPagerAdapter {
private Context context;
public TabsPagerAdapter(FragmentManager fm, Context mContext) { //add Context to contructor
super(fm);
context = mContext; //pass context
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
// Main fragment activity
return new main();
case 1:
// Sensors fragment activity
return new sensors();
case 2:
// Display fragment activity
return new display();
case 3:
// Settings fragment activity
return new settings();
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 4;
}
}
Puoi usare
getActivity()
o
getActivity().getApplicationContext()