【发布时间】:2020-02-18 20:04:29
【问题描述】:
当关注 android 选项卡式活动时,选项卡式活动会被活动覆盖。
我是安卓新手。我正在学习在不同的选项卡上包含一些活动。但是,活动会全屏显示并覆盖主选项卡
// TabMain.java
public class TabMain extends AppCompatActivity {
.......
}
// SectionsPagerAdapter.java extends FragmentPagerAdapter
@Override
public Fragment getItem(int position) {
switch (position){
case 1:
FragmentTab1 tab1 = new FragmentTab1();
return tab1;
default:
return PlaceholderFragment.newInstance(position + 1);
}
}
public class FragmentTab1 extends Fragment {
@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.galery_main_layout, container, false);
Intent intent = new Intent(getActivity(), UploadMain.class);
getActivity().startActivity(intent);
return root;
}
}
UploadMain.java 实现Activity
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:name=".TabMain"
android:label="@string/title_activity_tab_main"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:name=".FdActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".UploadMain"
android:configChanges="keyboardHidden|orientation"
>
</activity>
</application>
我希望上传主类在 tab2 内
TabMain |表 1(其他活动) |选项卡 2(UploadMain)
【问题讨论】:
-
最好将 Activity 视为应用程序的单个屏幕(并非总是如此,但它仍然是考虑它们的好方法)。对于屏幕的各个部分(包括“标签”内容),请使用
Fragments 或Views。 -
TabActivity 已被弃用一段时间 - 最好切换到一个 Activity 和 Fragments,例如参见 this SO post
-
BTW AppCompatActivity 没有扩展 TabActivity 所以它不能按照你想要的方式工作。
标签: java android android-activity tabbed