Я хочу знать, поддерживает ли Android возможность создания контейнера с некоторыми статическими компонентами и просто включает в себя мои действия в нем.
У меня есть скользящее меню с некоторыми событиями onClickListener, и я не хочу устанавливать эти события для каждого вида деятельности.Использование контейнера для действий Android
ответ
Вот как я решил эту проблему:
Первое, что я сделал это создание мой основной класс которым будет хост общий код. , например:
public abstract class main extends activity(){
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResourceId());
// Your common code here
}
protected abstract int getLayoutResourceId();
}
Тогда все что вам нужно затратить этот класс в своей деятельности:
public class HelloActivity extends main{
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_hello);
super.onCreate(savedInstanceState);
//make sure to put setcontentview before super.oncreate
}
@Override
protected int getLayoutResourceId() {
return R.layout.activity_hello;
}
}
Я не совсем уверен, что я понимаю ваш вопрос, можете ли вы, возможно, разработать еще несколько? возможно, даже отправьте пример кода, который вы используете в настоящее время.
Из того, что я могу сказать, вы должны быть в состоянии добиться того, что вы хотите, сделать свой собственный CustomActivity
public class CustomActivity extends Activity {
//put your slidingmenu stuff here
}
Тогда внутри всех других мероприятий, где вы хотите использовать этот общий кусок сделать это следующим образом:
public class AnotherActivity extends CustomActivity {
//...
}
с extends CustomActivity
вместо обычных extends Activity
Я уже пробовал, но это не дает никакого эффекта. Мое скользящее меню - это библиотека, которую я создаю в своей основной деятельности. – OWZY
Вам нужно будет опубликовать свой код. Мне трудно понять, что вы пытаетесь выполнить. – FoamyGuy
Я нашел метод, который позволяет присоединить меню, созданное в базовой активности в текущей используемой активности (attachToActivity). спасибо за помощь – OWZY
Все мероприятия должны быть зарегистрированы в Manife ул. Для общих вещей, например. В меню слайдов вы можете использовать Фрагмент для меню слайдов.
Если я правильно понял вас, у вас есть некоторые функции, общие для нескольких видов деятельности, и вы не хотите повторять один и тот же код во всех них. Вместо этого вы хотите сделать это в одном месте.
Одним из способов достижения этой цели является создание активности суперкласса, размещение вашего общего кода в этом действии, а затем расширение его другими действиями. Например,
public class BaseActivity extends Activity implements OnClickListener {
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.my_button);
button.setOnClickListener(this);
}
...
@Override
public void onClick(View view) {
int id = view.getId();
switch(id) {
case R.id.my_button:
// perform action
break;
}
}
}
Затем продлить его как
public class Activity1 extends BaseActivity {
/...
}
public class Activity2 extends BaseActivity {
/...
}
public class Activity3 extends BaseActivity {
/...
}
Это не дает никакого эффекта. Я создал экземпляр моего меню в BaseActivity, но он не переключается в HomeActivity (расширяет BaseActivity). – OWZY
Вам необходимо разместить свой код. В противном случае трудно понять, что происходит. –
Теперь это okey, мне пришлось прикрепить меню к активности. Спасибо за вашу помощь – OWZY
- 1. Android: правильное использование быстрых действий
- 2. Использование контейнера для хранения контейнера в карме
- 3. Использование decltype для инициализации контейнера
- 4. Использование контейнера Laravel для репозиториев
- 5. Использование контейнера для Linux-приложений?
- 6. Принципы проектирования Android и использование действий/фрагментов
- 7. Использование фрагментов для переключения действий
- 8. Использование Плавающие кнопки действий в Android
- 9. Использование нескольких кнопок для запуска различных действий Android
- 10. Redux: с использованием действий другого контейнера
- 11. android: Панель действий для tabactivity
- 12. Альтернативные варианты действий для Android
- 13. Использование одного xml для двух действий
- 14. Использование ViewPager для открытия различных действий
- 15. Использование встроенного контейнера OSGi
- 16. Использование общего контейнера MySQL
- 17. Использование итератора без контейнера
- 18. Использование QObject вместо контейнера
- 19. Go Интерфейс/Использование контейнера
- 20. Повторное использование перемещенного контейнера?
- 21. Использование контейнера STL для хранения данных Treeview
- 22. Использование MPMoviePlayerController в качестве контейнера для UIView
- 23. Использование ajax для заполнения контейнера html
- 24. Использование Java API для ограничения контейнера (вложенный)
- 25. Использование вложенного контейнера для сообщения в rebus
- 26. Использование контейнера IOC для нескольких типов бетона
- 27. Правильное использование контейнера для инъекций с зависимостями
- 28. Возможно ли использование контейнера только для CSS?
- 29. Использование действий внутри контроллера?
- 30. Использование действий Caliburn.Micro
Гм, я не уверен, от этого вопроса, что вы понимаете, что такая деятельность. –