Я создаю приложение, в котором каждая вкладка имеет разные экраны для переключения между ними.Первоначально я хотел, чтобы каждая вкладка показывала разные действия, но из того, что я прочитал, кажется, что это плохой способ сделать это.
Так что я использовал XML-файл, который имеет макет для каждогоСкрин все в одном файле.И я использую Java для программирования, которое отображает каждый требуемый экран и скрывает те, которые мне не нужны.Проблема, с которой я столкнулся при таком подходе, заключается в том, что все мои Java-файлы - это один файл, а все мои XML-файлы - в одном файле.Может ли кто-нибудь объяснить мне лучший способ сделать это, так как я уверен, что должен быть лучший способ.В моей деятельности много экранов, и мне все время приходится пролистывать весь этот код, так как чем больше экранов я добавляю, тем больше становится код.
В идеале я хотел бы иметь код для каждого экранав своем собственном классе Java, и макеты для каждого экрана в своих собственных файлах XML и просто переключаться между ними.
Чтобы дать вам пример моего кода
<TabHost android:id="@+id/tabhost" android:layout_width="fill_parent"
android:windowSoftInputMode="adjustResize"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#92c223" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/tab1"
android:layout_above="@android:id/tabs" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content">
<RelativeLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
XML CODE FOR LAYOUT GOES IN HERE. EACH NEW SCREEN IS CONTAINED WITHIN THESE LAYOUTS.
</RelativeLayout>
</ScrollView>
</LinearLayout>
<TabWidget android:layout_width="fill_parent" android:id="@android:id/tabs" android:layout_weight="0"
android:layout_gravity="bottom" android:layout_height="wrap_content"></TabWidget>
</FrameLayout>
</TabHost>
Затем в своем коде Java я переключаюсь между вкладками, используя
if ("home".equals(tabId)) {
tab1.setVisibility(View.VISIBLE);
tab2.setVisibility(View.GONE);
tab3.setVisibility(View.GONE);
tab4.setVisibility(View.GONE);
tab5.setVisibility(View.GONE);
и при переключении между экранами в деятельностиКогда пользователь нажимает кнопку в этом упражнении, я использую прослушиватель щелчков и делаю это
tab2.setVisibility(View.GONE);
cvv.setVisibility(View.VISIBLE);
Я уверен, что есть лучший способ сделать это, и был бы благодарен, если бы кто-то дал мне предложения.
Другая проблема заключается в том, что все в одном действии, когда я нажимаю кнопку «Назад», просто выходит из приложения.Предпочел бы иметь его, чтобы, когда они наносили ответный удар, он возвращался к предыдущему экрану.