Урок 21. Создание и вызов Activity
Re: Урок 21. Создание и вызов Activity
У вас свойство у TextView android:layout_height="match_parent" означает, что TextView займет всю высоту экрана, поэтому кнопка не отображается.
измените на android:layout_height="wrap_content"
измените на android:layout_height="wrap_content"
Re: Урок 21. Создание и вызов Activity
В R классе сохраняется ID вашего TextView который вы разместили в разметке secondactivity.xmldil_android писал(а): понял, что textView сохраняется в классе R, и поэтому может быть вызван.
вы указали для этого - android:id="@+id/textView" где "+" означает, что вы желаете, чтобы ID с именем "textView" создался автоматически, если его не существовало до этого.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
Спасибо за совет.
Думаю, что после начального знакомства с Android как таковым, начать работать в Eclips будет намного легче и проще.
А как насчет заданного вопроса, есть какие нибудь предложения? Повторюсь, мне кажется, что разобравшись в этом конкретном примере, я смогу понять некоторые основополагающие вещи.
Думаю, что после начального знакомства с Android как таковым, начать работать в Eclips будет намного легче и проще.
А как насчет заданного вопроса, есть какие нибудь предложения? Повторюсь, мне кажется, что разобравшись в этом конкретном примере, я смогу понять некоторые основополагающие вещи.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
AndreyI
Спасибо большое. Сегодня смотрел урок 6, так как была догадка что дело в layout. Поэтому и поменял <Linear Layout> на <RelativeLayout>, думая, что кнопка уходит вправо и, поэтому, не видна. Но, одно дело догадываться, а другое дело найти ошибку. Еще раз спасибо. Буду читать дальше и беспокоить людей на форуме своими, может иногда глупыми, вопросами.
Спасибо большое. Сегодня смотрел урок 6, так как была догадка что дело в layout. Поэтому и поменял <Linear Layout> на <RelativeLayout>, думая, что кнопка уходит вправо и, поэтому, не видна. Но, одно дело догадываться, а другое дело найти ошибку. Еще раз спасибо. Буду читать дальше и беспокоить людей на форуме своими, может иногда глупыми, вопросами.
-
- Сообщения: 12
- Зарегистрирован: 13 июн 2012, 02:29
Re: Урок 21. Создание и вызов Activity
ни у кого не ругается здесь? Пробовал заменить на предложенный onlongclicklistener, но тот же результат.
win 7 32, android 2.3
Re: Урок 21. Создание и вызов Activity
ну если не критично, то просто в xml сделай ему клик, а тут обработай...примерно так:
Код: Выделить всё
public void btnActTwo_Click(View v){.......}
Re: Урок 21. Создание и вызов Activity
Нужно выбрать "Let 'MainActivity' implement 'OnClickListener'".
Появится новая ругань, там нужно будет добавить реализацию метода интерфейса.
Появится новая ругань, там нужно будет добавить реализацию метода интерфейса.
Re: Урок 21. Создание и вызов Activity
Подскажите пожалуйста как реализовать вызов активити путём сдвига экрана пальцем?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 21. Создание и вызов Activity
Очевидно, Вам нужен ViewPager. На ХабраХабре была статья по его применению. Или имелось ввиду именно использование жеста для вызова активити?brucemax писал(а):Подскажите пожалуйста как реализовать вызов активити путём сдвига экрана пальцем?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 21. Создание и вызов Activity
Да именно он. Спасибо большое!!! Да на хабре и не одна статья посвящена этому. Из предисловия к одной из нихKamiSempai писал(а):Очевидно, Вам нужен ViewPager. На ХабраХабре была статья по его применению. Или имелось ввиду именно использование жеста для вызова активити?brucemax писал(а):Подскажите пожалуйста как реализовать вызов активити путём сдвига экрана пальцем?
понял, что для достойного результата целесообразно использовать Android Support Package, коим я сейчас и займусь. Если вдруг кто этим уже занимался и у него есть полезное напутственное слово, просьба не стесняться =)Горизонтальная прокрутка экранов — удобная и модная вещь. На Хабре уже был топик, посвященный данной теме. Однако использование ViewFlipper не позволяет с легкостью добиться эффекта привязки, когда экраны двигаются вместе с пальцем. Также нужен механизм автоматической доводки экранов в ту или иную сторону. Примера, где это было бы хорошо разъяснено и реализовано, так и не нашел. В комментариях предлагали посмотреть исходники гугловского кода, где это реализовано. Однако удобнее было бы воспользоваться готовым решением. Такой механизм реализован в Android Support Package. Использовать эту библиотеку можно для версий Android 1.6 и старше. Конкретно нам понадобятся классы ViewPager и PagerAdapter.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
Здравствуйте,
Возник такой вопрос. Две Activity А и В. Чтобы запустить В, я использую OnItemClickListener и при помощи Intent передаю из А в В значение int position, которое затем использую.
Возникла необходимость вызова метода, относящегося к Activity B из метода в Activity A. Можно ли использовать для этой цели Intent таким образом, чтобы Activity B не загружалась (т.е. без startActivity())?
Я полагаю, что нет, и, поэтому, хочу задать сразу второй вопрос.
Передачу еще одного int значения из А в В, я хочу осуществить вне метода OnItemClickListener и без вызова Activity В, как это можно сделать? Насколько я понял из Интернета, однозначного решения нет, предлагают использовать SharedPreferences. Это кажется странным для одного значения типа int. По моему, в этом качестве, можно использовать get/set. Какое решение выбрать, с тем, чтобы в дальнейшем передача данных между Activity не вызывала проблем?
Спасибо.
Возник такой вопрос. Две Activity А и В. Чтобы запустить В, я использую OnItemClickListener и при помощи Intent передаю из А в В значение int position, которое затем использую.
Возникла необходимость вызова метода, относящегося к Activity B из метода в Activity A. Можно ли использовать для этой цели Intent таким образом, чтобы Activity B не загружалась (т.е. без startActivity())?
Я полагаю, что нет, и, поэтому, хочу задать сразу второй вопрос.
Передачу еще одного int значения из А в В, я хочу осуществить вне метода OnItemClickListener и без вызова Activity В, как это можно сделать? Насколько я понял из Интернета, однозначного решения нет, предлагают использовать SharedPreferences. Это кажется странным для одного значения типа int. По моему, в этом качестве, можно использовать get/set. Какое решение выбрать, с тем, чтобы в дальнейшем передача данных между Activity не вызывала проблем?
Спасибо.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 21. Создание и вызов Activity
Если объект класса не создан, в нашем случае это Acivity, вызвать методы этого класса не получится. Однако, если нужный метод оперирует только с параметрами и ни как не использует сам объект, его можно объявить как static и использовать независимо от самого объекта.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
KamiSempai, здравствуйте.
Попробовал, создав объект класса Activity B, исполняет нормально.
А я могу создавать объект класса Activity B? Не является ли это bad practice в Андроид программировании ? Где-то читал, что не желательно.
По поводу Intent мои сомнения верны, не так ли?
А вот, что Вы думаете по поводу SharePreferences и get/set?
Спасибо.
Попробовал, создав объект класса Activity B, исполняет нормально.
А я могу создавать объект класса Activity B? Не является ли это bad practice в Андроид программировании ? Где-то читал, что не желательно.
По поводу Intent мои сомнения верны, не так ли?
А вот, что Вы думаете по поводу SharePreferences и get/set?
Спасибо.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 21. Создание и вызов Activity
Создание Activity для вызова метода - это перебор.
И как Вы собираетесь передавать какие либо значения в Активити В без ее создания? Очевидно, Вы не совсем поняли принципы работы с Activity на андроиде.
И еще. Может стоит подумать о создании отдельно класса, если программный код используется более чем в одном объекте?
И как Вы собираетесь передавать какие либо значения в Активити В без ее создания? Очевидно, Вы не совсем поняли принципы работы с Activity на андроиде.
И еще. Может стоит подумать о создании отдельно класса, если программный код используется более чем в одном объекте?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
Речь не идет о создании нового Activity. Есть существующий Activity B в котором исполняемые методы. Так вот, для того, чтобы получить доступ к какому-либо из методов в В, сделать следующее в А: ActivityВ ав = new ActivityВ(); и далее, например, ав.deleteAllItems(); Создать переменную объекта В, в данном случае - это ав, и через нее получить доступ к методам, используемым в В из А.
По поводу Intent мои сомнения верны, не так ли?
А вот, что Вы думаете по поводу SharePreferences и get/set?
Спасибо.
По поводу Intent мои сомнения верны, не так ли?
А вот, что Вы думаете по поводу SharePreferences и get/set?
Спасибо.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
И еще один вопрос, который мне кажется интересен для новичков. Можно ли передавать данные через Intent без явного вызова ActivityB через startActivity(); В моем случае я вызываю ActivityB из метода setOnItemClickListener через Intent. Однако, если я хочу передать, какие-то data из А в В без явного вызова В, как это сделать? Если Intent это сделать не позволяет, то какова существующая практика. Два варианта, которые я смог найти в Интернете, я привел ранее.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
Странно, но вызов метода, через переменную объекта тоже дает ошибку. Перепробовал все вышеперечисленные варианты, ни один не срабатывает. А все, что хочу сделать, это удалить список (и таблицу БД) в Activity B, при вызове метода delete в Activity A (чтобы удаление происходило в обоих Activity). Прямой вызов метода не работает, передавать данные через Intent без явного вызова startActivity(ActivityB), в Андроиде тоже не предусмотрено. Так как быть то?
Re: Урок 21. Создание и вызов Activity
Не совсем понимаю, что вы имеете ввиду под явным и неявными вызовом. Вообще в Андроид под этими понятиями подразумевается обращение непосредственно к классу вызываемого Activity - явный Intent. Второй метод - вызов Activity через Action, тогда система будет подбирать для запуска подходящий Activity через Action Filter или предложит пользователю выбрать, если в системе зарегистрировано несколько фильтров удовлетворяющих требуемому Action - это неявный Intent. И в том и в другом случае в вызываемое Activity можно передавать данные. Смотрите урок 22 там все расписано с иллюстрациями.dil_android писал(а):И еще один вопрос, который мне кажется интересен для новичков. Можно ли передавать данные через Intent без явного вызова ActivityB через startActivity(); В моем случае я вызываю ActivityB из метода setOnItemClickListener через Intent. Однако, если я хочу передать, какие-то data из А в В без явного вызова В, как это сделать? Если Intent это сделать не позволяет, то какова существующая практика. Два варианта, которые я смог найти в Интернете, я привел ранее.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 21. Создание и вызов Activity
Наверное день сегодня такой.
Урок 28. Extras - передаем данные с помощью Intent
Intent intent = new Intent(this, ViewActivity.class);
intent.putExtra("fname", etFName.getText().toString());
intent.putExtra("lname", etLName.getText().toString());
startActivity(intent);
При вызове Intent и передаче данных методом PutExtra обязательно указывать startActivity(intent). Без этого Intent не передает данные с одновременной загрузкой активити. Я хочу передать данные, не загружая активити. Как это сделать?
Урок 28. Extras - передаем данные с помощью Intent
Intent intent = new Intent(this, ViewActivity.class);
intent.putExtra("fname", etFName.getText().toString());
intent.putExtra("lname", etLName.getText().toString());
startActivity(intent);
При вызове Intent и передаче данных методом PutExtra обязательно указывать startActivity(intent). Без этого Intent не передает данные с одновременной загрузкой активити. Я хочу передать данные, не загружая активити. Как это сделать?
Re: Урок 21. Создание и вызов Activity
Пока вы не вызовете Activity у вас оно не будет создано, как вы собираетесь передавать данные в несуществующее Activity?