【发布时间】:2018-05-08 02:11:21
【问题描述】:
我的 android 应用程序中有两个活动:
Activity A:它有一个带有 3 个标签的标签导航视图。当用户将屏幕从选项卡 1 滑动到选项卡 2 时,选项卡 2 视图会显示一个转到 Activity 的按钮。
2。 我想要做的是当我在活动 2 中按下后退按钮时,应用程序在选项卡 2 上显示活动 1,而不是现在正在发生的选项卡 1。 希望有任何帮助。 提前致谢。
在我的一段代码下面。请注意,我避免使用一些代码。
public class Activity1 extends ActionBarActivity
implements ActionBar.TabListener,ViewPager.OnPageChangeListener,NavigationDrawerFragment.NavigationDrawerCallbacks {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
tab = actionBar.newTab().setText(R.string.tab_one).setTabListener(this);
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab_two).setTabListener(this);
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab_three).setTabListener(this);
actionBar.addTab(tab);
}
public class PagerAdapter extends FragmentPagerAdapter {
public PagerAdapter(FragmentManager fm) {
super(fm);
}
public Fragment getItem(int arg0) {
switch (arg0) {
case 0:
tab.getPosition();
return new Fragment_Tab_1();
case 1:
tab.getPosition();
return new Fragment_Tab_2();
case 2:
tab.getPosition();
return new Fragment_Tab_3();
default:
return null;
}
}
public int getCount() {
return 3;
}
}
}
公共类 Fragment_Tab_2 扩展 Fragment { 按钮 show_activity2;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
bundle = savedInstanceState;
container2 = container;
if (container == null) {
return null;
}
LinearLayout relative_layout = (LinearLayout) inflater.inflate(R.layout.fragment_Tab_2, container, false);
context = relative_layout.getContext();
show_activity2 = (ImageButton) relative_layout.findViewById(R.id.show_activity2);
show_activity2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), Activity2.class);
startActivity(intent);
}
});
return relative_layout;
}
}
public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)){
Intent intent = new Intent(Activity2.this,Activity1.class);
startActivity(intent);
finish();
}
return true;
}
}
【问题讨论】:
-
如果您没有任何相互依赖的数据 Activity 然后再次调用该 Activity.. 否则您也可以将数据传递给 Intent 和 OnActivity 的结果,您可以使用所需的数据调用 Agian。
-
我现在正在做的是从活动 2 中的 onKeyDown 方法调用活动 1,当它显示选项卡 1 时,我想显示选项卡 2。
-
这完全取决于您最初如何调用 Activity 来获取数据。请在此处发布一些代码,您首先如何处理您的活动..
标签: android android-fragments back-button android-tabs