Урок 15. Контекстное меню
Re: Урок 15. Контекстное меню
нет, не обязательно. Это очень интересная тема, она связана со многими другими. Советую почитать про основы объектно-ориентированного программирования (ООП). Это база.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 15. Контекстное меню
в примере было указано 2 списка меню на 2 элемента. а как можно сделать один список из 3 элементов на 10 кнопок? Пробовал добавлением всех кнопок в case и меняется все кнопки сразу(((
Re: Урок 15. Контекстное меню
каким образом можно сделать то что вы описывали в своем вопросе!? У меня куча кнопок и одно общее меню! Как сделать что бы каждая кнопка обрабатывалась отдельно???alex6999 писал(а):спасибо, заработало.
Re: Урок 15. Контекстное меню
Доброго времени суток форумчане! Я дошёл до 15-го урока и у меня возник вопрос, но для начала цитата что бы понятнее было: "Мы использовали метод registerForContextMenu (View view) для включения контекстного меню для определенного View. Этот метод принадлежит классу Activity. Я посмотрел исходники этого метода, там написано следующее:
public void registerForContextMenu(View view) {
view.setOnCreateContextMenuListener(this);
}". И собственно вопрос: Где посмотреть исходники метода registerForContextMenu? И по-подробнее если можно)
public void registerForContextMenu(View view) {
view.setOnCreateContextMenuListener(this);
}". И собственно вопрос: Где посмотреть исходники метода registerForContextMenu? И по-подробнее если можно)
Re: Урок 15. Контекстное меню
Вот тутГде посмотреть исходники метода registerForContextMenu? И по-подробнее если можно)
Re: Урок 15. Контекстное меню
Дзякуй Пане)!Donart писал(а):Вот тутГде посмотреть исходники метода registerForContextMenu? И по-подробнее если можно)
Re: Урок 15. Контекстное меню
а как вставить разделитель в программно созданное контекстное меню
или сменить цвет шрифта пунктов или заглавия или вот фона или хоть что-нибуть из этого
или сменить цвет шрифта пунктов или заглавия или вот фона или хоть что-нибуть из этого
Re: Урок 15. Контекстное меню
Как сделать этот же урок, но уже с использованием XML-меню? Что то не получается(( Слава богу без использования .xml получился))
Что конкретно нужно сделать в .xml и в методе onCreateContextMenu? Пока какая-то хрень получается, нажимаешь на размер или колор вылазят все 6 меню, а при нажатии на них ничего не происходит((
Что не так тут?
Примечание: здесь не весь код, а только часть которая мне не понятна!
[syntax=javascript]@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.mymenu2, menu);
}
[/syntax]
И что не так здесь?
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@id/tvColor">
<item
android:id="@+id/menu_red"
android:title="red"
android:orderInCategory="MENU_COLOR_RED">
</item>
<item
android:id="@+id/menu_green"
android:title="green"
android:orderInCategory="MENU_COLOR_GREEN">
</item>
<item
android:id="@+id/menu_blue"
android:title="blue"
android:orderInCategory="MENU_COLOR_BLUE">
</item>
</group>
<group
android:id="@id/tvSize">
<item
android:id="@+id/menu_30"
android:title="30"
android:orderInCategory="MENU_SIZE_30">
</item>
<item
android:id="@+id/menu_26"
android:title="26"
android:orderInCategory="MENU_SIZE_26">
</item>
<item
android:id="@+id/menu_22"
android:title="22"
android:orderInCategory="MENU_SIZE_22">
</item>
</group>
</menu>[/syntax]
Что конкретно нужно сделать в .xml и в методе onCreateContextMenu? Пока какая-то хрень получается, нажимаешь на размер или колор вылазят все 6 меню, а при нажатии на них ничего не происходит((
Что не так тут?
Примечание: здесь не весь код, а только часть которая мне не понятна!
[syntax=javascript]@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.mymenu2, menu);
}
[/syntax]
И что не так здесь?
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@id/tvColor">
<item
android:id="@+id/menu_red"
android:title="red"
android:orderInCategory="MENU_COLOR_RED">
</item>
<item
android:id="@+id/menu_green"
android:title="green"
android:orderInCategory="MENU_COLOR_GREEN">
</item>
<item
android:id="@+id/menu_blue"
android:title="blue"
android:orderInCategory="MENU_COLOR_BLUE">
</item>
</group>
<group
android:id="@id/tvSize">
<item
android:id="@+id/menu_30"
android:title="30"
android:orderInCategory="MENU_SIZE_30">
</item>
<item
android:id="@+id/menu_26"
android:title="26"
android:orderInCategory="MENU_SIZE_26">
</item>
<item
android:id="@+id/menu_22"
android:title="22"
android:orderInCategory="MENU_SIZE_22">
</item>
</group>
</menu>[/syntax]
Re: Урок 15. Контекстное меню
[quote="_-Roman-_"]
Так что там насчёт моего вопроса?
Так что там насчёт моего вопроса?
Re: Урок 15. Контекстное меню
контекстное меню устарело и не рекомендуется к использованию. Не возись с ним.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 15. Контекстное меню
Ставь listener-ы на длинные тапы, вызывай диалоговые окна и делай в них что хочешь.
Re: Урок 15. Контекстное меню
Ясно, я уже пошел дальше, толку на одном месте топтаться главное что програмно получилось)
Re: Урок 15. Контекстное меню
всем привет, по совету автора я пытаюсь создать это же контекстное меню с помощью хмл файла, но не совсем получается, ребята подскажите как доработать.
вот код из MainActivity
а вот код из хмл файла mymenu.xml
я просто не умею проверять на условие на каком именно View элементе нажали и в зависимости от этого показать соответствующую группу меню, заранее спасибо всем кто помог
вот код из MainActivity
Код: Выделить всё
package com.example.p0151_contextmenu;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
final int MENU_COLOR_RED = 1;
final int MENU_COLOR_GREEN = 2;
final int MENU_COLOR_BLUE = 3;
final int MENU_SIZE_22 = 4;
final int MENU_SIZE_26 = 5;
final int MENU_SIZE_30 = 6;
TextView tvColor, tvSize;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvColor = (TextView) findViewById(R.id.tvColor);
tvSize = (TextView) findViewById(R.id.tvSize);
//Для tvColor и tvSize необходимо создавать контекстное меню
registerForContextMenu(tvColor);
registerForContextMenu(tvSize);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
getMenuInflater().inflate(R.menu.mymenu, menu);
menu.setGroupVisible(R.id.ColorGroup, true);
menu.setGroupVisible(R.id.SizeGroup, false);
}
@Override
public boolean onContextItemSelected(MenuItem item){
switch(item.getItemId()){
//Пункты меню для tvColor
case MENU_COLOR_RED:
tvColor.setTextColor(Color.RED);
tvColor.setText("Text color = Red");
break;
case MENU_COLOR_GREEN:
tvColor.setTextColor(Color.GREEN);
tvColor.setText("Text color = Green");
break;
case MENU_COLOR_BLUE:
tvColor.setTextColor(Color.BLUE);
tvColor.setText("Text color = Blue");
break;
//пункты меню для tvSize
case MENU_SIZE_22:
tvSize.setTextSize(22);
tvSize.setText("Text size = 22");
break;
case MENU_SIZE_26:
tvSize.setTextSize(26);
tvSize.setText("Text size = 26");
break;
case MENU_SIZE_30:
tvSize.setTextSize(30);
tvSize.setText("Text size = 30");
break;
}
return super.onContextItemSelected(item);
}
}
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group android:id="@+id/ColorGroup">
<item
android:id="@+id/MENU_COLOR_GREEN"
android:title="Green"/>
<item
android:id="@+id/MENU_COLOR_RED"
android:title="Red"/>
<item
android:id="@+id/MENU_COLOR_BLUE"
android:title="Blue"/>
</group>
<group android:id="@+id/SizeGroup">
<item
android:id="@+id/MENU_SIZE_22"
android:title="22"/>
<item
android:id="@+id/MENU_SIZE_26"
android:title="26"/>
<item
android:id="@+id/MENU_SIZE_30"
android:title="30"/>
</group>
</menu>
Re: Урок 15. Контекстное меню
контекстное меню устарело, брось его
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 15. Контекстное меню
Тут стоило предложить альтернативу.Foenix писал(а):контекстное меню устарело, брось его
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 15. Контекстное меню
я хотела, но вдруг он сам разберется? ЭТо ведь просто. Заходишь на сайт девелоперов из гугла по поиску "контекстное меню" и там в первых же строках все написано..
И таким же образом ищутся иные альтернативы других устаревших вещей в уроках.
И таким же образом ищутся иные альтернативы других устаревших вещей в уроках.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 15. Контекстное меню
Хм...Foenix писал(а):я хотела, но вдруг он сам разберется? ЭТо ведь просто. Заходишь на сайт девелоперов из гугла по поиску "контекстное меню" и там в первых же строках все написано..
И таким же образом ищутся иные альтернативы других устаревших вещей в уроках.
http://developer.android.com/reference/ ... tMenu.html
Не вижу пометки Deprecated.
http://developer.android.com/guide/topi ... ntext-menu
Инструкция о том как делать контекстное меню, но ни слова о том, что оно устарело.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 15. Контекстное меню
я чуть ошиблась в своих воспоминаниях где я это читала. Тут немного по-другому. Скажем так.
ну а для deprecated мой алгоритм все равно подходит.
http://developer.android.com/guide/topics/ui/menus.htmlWhen developing for Android 3.0 and higher, you should instead use the contextual action mode to enable actions on selected content. This mode displays action items that affect the selected content in a bar at the top of the screen and allows the user to select multiple items.
ну а для deprecated мой алгоритм все равно подходит.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 15. Контекстное меню
Далее они пишут еще раз, для тех, кто перескочил по ссылке в середину документа.
If you're developing for Android 3.0 (API level 11) or higher, you should usually use the contextual action mode to present contextual actions, instead of the floating context menu.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 15. Контекстное меню
Всем спасибо за ответы, мне как для новичку хотелось бы разобраться со своим примером, подскажите пожалуйста как закрепить группу меню за определенным View элементом, и если есть альтернатива то какая, я так и не понял