2013-03-20 10 views
3

я использую следующий проектКак запускать различные действия в том же точке зрения

https://github.com/akotoe/android-slide-out-menu.git разработать выскользнуть меню приложения.

Как запустить различные действия в одном и том же представлении, щелкнув список в слайд-меню.

, например, если я щелкаю по пункту 1 я хотел бы разобрать один XML-файл в отдельном виде деятельности и добавить эту деятельность, как ребенок к этому родительскому view.because по каждому пункту нажмите я хотел бы проанализируйте отдельный XML-файл, а также я хотел бы представить эти анализируемые данные в отдельном файле layout.so мне нужно сделать это, и я хочу, чтобы эта активность была добавлена ​​в качестве дочернего элемента в это родительское представление.

как я могу это сделать, может кто-нибудь помочь мне в этом.

Если я начинаю новый Намерение (startactivity), он переводит меня на другую страницу. где я не вижу эту родительскую страницу.

+0

Вы можете использовать фрагменты :) [Фрагменты] (http://developer.android.com/guide/components/fragments.html) –

ответ

3

Компоненты пользовательского интерфейса, которые могут быть встроены в вашу деятельность, должны быть получены из фрагмента, а не из действия. При преобразовании дочерних действий в фрагменты вам необходимо переопределить onCreateView вместо onCreate, чтобы загрузить макет фрагмента.

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

Это хорошее место, чтобы начать: http://developer.android.com/guide/components/fragments.html

Это слишком большая тема для меня, чтобы охватить все, - вы действительно должны смотреть на Android ресурсов для разработчиков - но вот некоторые примеры.

Как я уже сказал, вы можете поместить исходный фрагмент непосредственно в свой макет деятельности. «Фрагмент» находится на вкладке «Макеты» редактора макета. Вы даете этому фрагменту-заполнителю идентификатор «Id», который вы можете использовать для его идентификации, а также «Имя» класса фрагмента, который будет там для начала.

Тогда, когда пришло время, чтобы переключить фрагмент, вы можете использовать такой код:

// Create new fragment and transaction 
Fragment newFragment = new ExampleFragment(); 
FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

// Replace whatever is in the fragment_container view with this fragment 
transaction.replace(R.id.fragment_container, newFragment); 

// Commit the transaction 
transaction.commit(); 
+0

Как добавить фрагмент в файл activity_layer_stack.xml, как я могу написать логику логического разбора в фрагменте class –

+0

новый фрагмент переопределяет существующий фрагмент, как я могу удалить старый фрагмент. –

+0

Вызов transaction.replace() заменяет старый фрагмент на новый. На этом экране может отображаться только один фрагмент. Потратьте некоторое время на изучение страницы документации по Android, с которой я связан; это на самом деле довольно хорошо объясняет концепцию фрагментов и то, как классы работают вместе. –

2

Вы не можете гнездо деятельности в другой. Но вы можете использовать Fragment instread. Когда вы нажимаете элемент, просто переходите вправо Fragment от FragmentManager.

0

Проверить этот ответ первый

How do I create a header or footer button bar for my Android application


Вы можете иметь один Мастер деятельности в проекте,

Say, MainActivity.java

в том, что основной деятельности записи код fo г скользящего меню

@Override 
    public void onCreate(Bundle inState) { 
     super.onCreate(inState); 

     mMenuDrawer = new MenuDrawerManager(this, MenuDrawer.MENU_DRAG_CONTENT, 
       MenuDrawer.MENU_POSITION_RIGHT); 

     mMenuDrawer.setContentView(R.layout.appui); 
     mMenuDrawer.setMenuView(R.layout.slide_menu_ui); 

    } 

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

Теперь

В каждой вашей деятельности других extends от MainActivity

и вы сделали. !!

+0

как вызвать этот расширенный класс для каждого элемента списка нажмите –

+0

Вам не нужно вызывать расширенный класс для каждого элемента, нажмите, вы просто получите этот прослушиватель в базовом классе и не должны писать в других дочерних классах. Это сила OOPS @madanV – MKJParekh

+0

Не могли бы вы рассказать мне, как написать, что прослушиватель кликов для вызова расширенной активности? –

 Смежные вопросы

  • Нет связанных вопросов^_^