Android FragmentPagerAdapter获取上下文
我有这个片段适配器:Android FragmentPagerAdapter获取上下文,android,fragmentpageradapter,Android,Fragmentpageradapter,我有这个片段适配器: public class TabsPagerAdapter extends FragmentPagerAdapter { private Context context; public TabsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int index) { switch
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;
}
}
我正在尝试用双击和吐司的方式按下后退按钮退出:
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;
}
private static final long DOUBLE\u PRESS\u INTERVAL=20000000000;
私人长时间;
public void onBackPressed(){
Toast.makeText(上下文,
Resources.getSystem().getString(R.string.kilepes_dupla),
吐司。长度(短)。show();
长按时间=System.nanoTime();
如果(按Time-lastPressTime您必须使用getActivity()
像这样
Toast.makeText(getActivity() , ......
您应该处于活动
上下文中(onBackPressed是活动
的一种方法),因此您应该使用更改上下文
getActivity()
或
试试这个:
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;
}
}
你的按钮在哪里?它在碎片里吗?它是背面的Physicallbutton@David在FragmentPagerAdapter
或FragmentPagerAdapter
类中,您在哪里添加了onBackPressed()
未为类型TabsPagerAdapterFragment has not onBackPressed定义。这是一种活动方法
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;
}
}