Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
derec
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
1

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

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

Подскажите пожалуйста можно ли создать систему вкладка-вкладка??
по сути при нажатие вкладки открывался layout с еще одним списком вкладок.
Если такое можно реализовать, подскажите как?
пытался методом тыка ничего хорошего не выходит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 14:05
Ответы с готовыми решениями:

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

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

Вкладка виджеты
В смартфонах андроид в меню есть 2 вкладки: приложения и виджеты. А для чего...

eclipse DDMS вкладка File Explorer не могу раскрыть папку data
eclipse DDMS вкладка File Explorer не могу раскрыть папку data, когда запускаю...

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

9
ILNAR_93
Android
237 / 237 / 49
Регистрация: 19.01.2013
Сообщений: 1,881
Записей в блоге: 3
03.07.2014, 17:02 2
derec, хз, вроде нельзя ..
0
arslancharyev31
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
ILNAR_93
Android
237 / 237 / 49
Регистрация: 19.01.2013
Сообщений: 1,881
Записей в блоге: 3
03.07.2014, 17:36 4
значит можно)

Добавлено через 35 секунд
А табХост в ТабХосте как ?
1
arslancharyev31
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
derec
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
arslancharyev31
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
04.07.2014, 09:20 7
Проблема не в коде, выложите манифест, судя по всему путь к классу прописан не правильно. И попробуйте сделать слеующее: наверху Project->Clean...
http://www.cyberforum.ru/attachment....1&d=1404451153
0
Миниатюры
Tabhost, TabWidget; можно ли создать систему вкладка-вкладка  
arslancharyev31
8 / 8 / 2
Регистрация: 30.03.2013
Сообщений: 63
04.07.2014, 09:55 8
А вы добавили в проект Android Support v4?
0
derec
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
arslancharyev31
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2014, 10:21

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

Вкладка исключение
Откройте Пуск — Панель управления, выберите Брандмауэр Windows. Перейдите на...

Вкладка модуля
Delphi xe7. При открытии проекта на панели над дизайнером форм у меня...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru