С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
1

Tabhost, TabWidget; можно ли создать систему вкладка-вкладка

03.07.2014, 14:05. Показов 1487. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста можно ли создать систему вкладка-вкладка??
по сути при нажатие вкладки открывался layout с еще одним списком вкладок.
Если такое можно реализовать, подскажите как?
пытался методом тыка ничего хорошего не выходит.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2014, 14:05
Ответы с готовыми решениями:

TabHost и TabWidget
Вот решил создать Tab-ы на андроиде... нашел простенький примерчик, набрал код, почитал справку ,...

TabHost и TabWidget - как сделать вкладки прокручиваемыми
Добрый день. По этой инструкции...

Можно ли проверить, какая вкладка открыта?
как то на jquery можно проверить какая вкладка открыта и в случае обновления страницы оставить ее...

Сворачивающаяся панель, которую можно закрепить (как вкладка в MS Word)
учусь работать с WPF, пока мало чего знаю подскажите, как можно реализовать панельку, подобную...

9
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
03.07.2014, 17:02 2
derec, хз, вроде нельзя ..
0
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
03.07.2014, 17:25 3
Ловите:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTabHost;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
 
public class MainActivity extends FragmentActivity {
    private FragmentTabHost mTabHost;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_main);
 
        mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
        mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
 
        for (int i = 0; i < 5; i++) {
            mTabHost.addTab(mTabHost.newTabSpec("tabs"+i).setIndicator("Tabs"+i),
                    TabFragment.class, null);
        }
    }
 
    public static class TabFragment extends Fragment {
        private FragmentTabHost mTabHost;
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            mTabHost = new FragmentTabHost(getActivity());
 
            mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
            for (int i = 0; i < 3; i++) {
                mTabHost.addTab(
                        mTabHost.newTabSpec("simple"+i).setIndicator("Simple"+i),
                        SimpleFragment.class, null);
            }
            return mTabHost;
        }
 
        @Override
        public void onDestroyView() {
            super.onDestroyView();
            mTabHost = null;
        }
    }
 
    public static class SimpleFragment extends Fragment {
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            TextView text = new TextView(container.getContext());
            text.setText("Simple Fragment");
            text.setGravity(Gravity.CENTER);
            return text;
        }
    }
}
activity_main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
 
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:orientation="horizontal" />
 
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0" />
 
        <FrameLayout
            android:id="@+id/realtabcontent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
    </LinearLayout>
 
</android.support.v4.app.FragmentTabHost>
Добавлено через 55 секунд
И добавьте в папку libs архив android-support-v4.jar
0
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
03.07.2014, 17:36 4
значит можно)

Добавлено через 35 секунд
А табХост в ТабХосте как ?
1
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
03.07.2014, 17:43 5
Цитата Сообщение от kaspersky Посмотреть сообщение
А табХост в ТабХосте как ?
Это два разных табхоста, у каждого родительского фрагмента свой таб хост. Это во первых, а во вторых
У родителя: mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
У ребенка: mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
1
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
04.07.2014, 05:01  [ТС] 6
Приложение падае с ошибкой
07-04 11:57:48.135: E/AndroidRuntime(11929): Process: com.khv.future_series, PID: 11929
07-04 11:57:48.135: E/AndroidRuntime(11929): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.khv.future_series/com.khv.future_series.Piano}: java.lang.ClassNotFoundException: Didn't find class "com.khv.future_series.Piano" on path: DexPathList[[zip file "/data/app/com.khv.future_series-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.khv.future_series-2, /vendor/lib, /system/lib]]
0
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
04.07.2014, 09:20 7
Проблема не в коде, выложите манифест, судя по всему путь к классу прописан не правильно. И попробуйте сделать слеующее: наверху Project->Clean...
https://www.cyberforum.ru/atta... 1404451153
Миниатюры
Tabhost, TabWidget; можно ли создать систему вкладка-вкладка  
0
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
04.07.2014, 09:55 8
А вы добавили в проект Android Support v4?
0
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
04.07.2014, 10:16  [ТС] 9
да добавил

манифест
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.khv.future_series"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="13"
        android:targetSdkVersion="19" />
 
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.khv.future_series.Piano"
            android:label="@string/title_activity_piano" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
пишет:
[2014-07-04 17:12:38 - future_series] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;


путь до библиотеки

C:\Users\1\Downloads\Архивы\adt-bundle-windows-x86_64-20140624\adt-bundle-windows-x86_64-20140624\sdk\extras\android\support\v4
0
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
04.07.2014, 10:21 10
Во первых у вас 2 раза добавлена эта библиотека Избавьтесь от какой нибудь.
Во вторых в теге activity измените имя с android:name="com.khv.future_series.Piano" на android:name=".Piano". Имя пакета компилятор автоматически добавляет. Отпишитесь как сделаете.
0
04.07.2014, 10:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2014, 10:21
Помогаю со студенческими работами здесь

вкладка
Как сделать чтоб при переходе по ссылке, страница открывалась не в новой вкладке, а в той же самой?

вкладка target
Когда создаю новую виртуальную машинку андроида, вижу только 4.4 API . (как на рисунке). Но мне...

Вкладка во вкладке
Здравствуйте, подскажите как вложить элемент управления вкладка в уже созданный элемент управления...

Вкладка в MainMenu
всем привет! Такой вопрос как в одной из кнопок mainmenu при нажатии в том же окне открывалось то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru