включить действие внутри вкладки в полноэкранном режиме - PullRequest
0 голосов
/ 22 октября 2019

Активность с вкладками переопределяется активностью, если вы отслеживаете активность с вкладками Android.

Я новичок в 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 реализует действие

<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 (другая деятельность) |Tab 2 (UploadMain)

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Ваш FragmentTab1 запускает новое действие вместо того, чтобы заменять только вид внутри вашего фрейма, вы начинаете совершенно новое действие. Ваш код принадлежит классу Fragmenttab1, и строка Intent intent = new Intent(getActivity(), UploadMain.class); getActivity().startActivity(intent);

должна быть удалена

0 голосов
/ 22 октября 2019

Вы не можете иметь Activity внутри ViewPager, это должен быть фрагмент.

А также, когда вы начинаете действие, например, startActivity(intent) оно не заменит предыдущий экран или действие, оно просто создаст новое действие с новым макетом, с предыдущим приостановленным действием (а такжеиногда останавливается), пока вы не закроете предыдущее действие. Вам нужно больше узнать о активности и фрагменте жизненных циклах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...