Форум программистов, компьютерный форум CyberForum.ru

Tab вложенный в tab - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Частота обновления экрана (FPS) на Canvas http://www.cyberforum.ru/android-dev/thread569960.html
Здравствуйте. Рисую на канве. Проверил частоту обновления экрана (FPS ) на 2 телефонах – один 1000 мегагерц другой 600 – совпадает, возникает предположение что фпс не зависит от процессора. Если вспомнить справку "Or, in a separate thread, wherein you manage a SurfaceView and perform draws to the Canvas as fast as your thread is capable (you do not need to request invalidate())." то не ясно...
Android Vk.com api audio.get +resonce Прошу о помощи мучаюсь уже неделю, в кратце, делаю запрос через vk api, запрос приходит успешно, но вот ответ обработать не знаю как. вот описание запроса http://vk.com/developers.php?oid=-1&p=audio.get вот как я его выполняю собственно: public ArrayList<Audio> getAudiomy(Long uid, Long gid,int count) throws MalformedURLException, IOException, JSONException, KException{ Params params =... http://www.cyberforum.ru/android-dev/thread569773.html
Android Передача данных между activity
Здравствуйте! Для передачи данных между Activity требуется Создаём новое намерение (Intent). Intent intent = new Intent(this, NewActivity.class);И добавляем в него нужные на параметры: intent.putExtra("paramName1", paramValue1); intent.putExtra("paramName2", paramValue2);Пользователь вводит данные в строку(текст)-где этот param сохраняется,чтобы его потом вызвать?=) Текст Layout
Android Клиент bluetooth. как в кнопке правильно вызвать метод для подключения?
нашел в интернете готовый класс private class ConnectThread extends Thread { private final BluetoothSocket mmSocket; private final BluetoothDevice mmDevice; public ConnectThread(BluetoothDevice device) { // используем вспомогательную переменную, которую в дальнейшем // свяжем с mmSocket, BluetoothSocket tmp = null;
Android Не могу найти ошибку http://www.cyberforum.ru/android-dev/thread569039.html
Здравствуйте! Помогите, пожалуйста, найти ошибку в коде: вот QuizGameActivity.java: package com.androidbook.triviaquiz; import android.content.Intent; import android.os.Bundle; import android.view.Menu;
Android Ярлык на рабочем столе Создаю ярлык таким способом: ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); Intent intent = new Intent(); Intent launchIntent = new Intent(this, SettingsActivity.class); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Ярлык настроек"); ... подробнее

Показать сообщение отдельно
futurelink
 Аватар для futurelink
1 / 1 / 0
Регистрация: 02.05.2012
Сообщений: 56
17.05.2012, 05:20     Tab вложенный в tab
Вот основное активити, в нем описываем таб-листенер, и добавляем табы в экшнбар:
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
public class MainActivity extends Activity {   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
               
        ActionBar bar = getActionBar();
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        bar.setDisplayShowTitleEnabled(false);       
        bar.addTab(bar.newTab()
            .setText(R.string.payments)
            .setTabListener(new TabListener<PaymentsFragment>(this, "payments", PaymentsFragment.class)));
        bar.addTab(
            bar.newTab()
            .setText(R.string.balance)
            .setTabListener(new TabListener<BalanceFragment>(this, "balance", BalanceFragment.class)));         
        bar.addTab(
                bar.newTab()
                .setText(R.string.planning)
                .setTabListener(new TabListener<PlanningFragment>(this, "planning", PlanningFragment.class)));          
 
    }
 
    public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
        private Fragment mFragment;
        private final Activity mActivity;
        private final String mTag;
        private final Class<T> mClass;
 
        /** Constructor used each time a new tab is created.
          * @param activity  The host Activity, used to instantiate the fragment
          * @param tag  The identifier tag for the fragment
          * @param clz  The fragment's Class, used to instantiate the fragment
          */
        public TabListener(Activity activity, String tag, Class<T> clz) {
            mActivity = activity;
            mTag = tag;
            mClass = clz;
        }
 
        public void onTabSelected(Tab tab, FragmentTransaction ft) {
                if (mFragment == null) {
                mFragment = Fragment.instantiate(mActivity, mClass.getName());
                ft.add(android.R.id.content, mFragment, mTag);                
            } else {
                ft.attach(mFragment);
            }
        }
 
        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            if (mFragment != null) {
                ft.detach(mFragment);
            }
        }
 
        public void onTabReselected(Tab tab, FragmentTransaction ft) {}
    }
}
Фрагменты будут загружаться в рабочую область проги. Внутри фрагмента делаем следующую разметку (balance_view.xml):

XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8" ?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">
<LinearLayout android:layout_width="240dp" android:layout_height="match_parent" android:orientation="horizontal">
<!-- Тут кнопочки размещаем -->
</LinearLayout>
 
<FrameLayout android:id="@+id/fragmentView" android:layout_width="fill_parent" android:layout_height="match_parent" /> 
</LinearLayout>
Вот код фрагмента первого уровня:

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class BalanceFragment extends Fragment {
    public static BalanceFragment newInstance(int index) {
        BalanceFragment f = new BalanceFragment();
        return f;
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.balance_view, container, false);
    }
}
В нем - на кнопочки вешаем листенеры, которые будут делать:

Java
1
2
3
4
5
6
7
8
9
10
FragmentTransaction transaction = getFragmentManager().beginTransaction();
Fragment newFragment = new BalanceDetailsFragment(); // или какой-то там другой фрагмент
 
// Заменим фрагмент в нашем фрейме, и добавим состояние в бэкстэк если надо.
transaction.replace(R.id.fragmentView, newFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
//transaction.addToBackStack(null);
 
// Применим изменения
transaction.commit();
Вот и все

Если что, я коллекционирую кое-какие tips&tricks у себя в блоге, там об этом тоже есть.
 
Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru