Урок 44. События в ListView
Re: Урок 44. События в ListView
как можно добавить subitem ?
-
- Сообщения: 31
- Зарегистрирован: 03 сен 2013, 14:26
Re: Урок 44. События в ListView
К этому уроку можно написать код попроще. Обрабатывать через Активити, как событие нажатия на кнопку. По коду сразу все становится понятно, особенно для таких новичков как я. Работает авто подстановка.
Код: Выделить всё
public class MainActivity extends Activity implements OnItemClickListener{
TextView mTextView ;
String[] contact={"aaa","bbb","ccc","ddd","eee","fff","ggg","hhh","qqq","rrr","sss"} ;
ListView lv;
final String LOG_TAG="myLog";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView=(TextView) findViewById(R.id.textSelect);
lv=(ListView) findViewById(R.id.list);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,
contact);
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
Log.d(LOG_TAG, "itemClick: position = " + position + ", id = "
+ id);
}
}
-
- Сообщения: 3
- Зарегистрирован: 18 сен 2015, 10:39
Re: Урок 44. События в ListView
Добавьте эту информацию в урок, пожалуйста!MASK писал(а):Спасибо большое за это сообщение, а то я уже не знала как заставить работать этот OnItemSelectedListener. На эмуляторе теперь работает, а вот как его активировать на реальном девайсе - ума не приложу, там-то нет клавиатуры с пробеломSerge писал(а):После этого урока возник вопрос по эмулятору.
ItemSelect у меня вызывается только при нажатии пробела, при этом позиционируется на строке, где был последний клик. Ни кнопки курсора, ни колесо мыши не работает.
Если кто-то разобрался - прошу помощи, хотя подозреваю, что этот метод на самом деле оставлен в коде рудиментарно и в жизни не используется.
Буду рада любым ответам!
Re: Урок 44. События в ListView
листвью уже все, отжил
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: Урок 44. События в ListView
Кто пришел на замену?Foenix писал(а):листвью уже все, отжил
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 44. События в ListView
а кто спрашивает?doter.ua писал(а):Кто пришел на замену?Foenix писал(а):листвью уже все, отжил
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: Урок 44. События в ListView
яFoenix писал(а):а кто спрашивает?doter.ua писал(а):Кто пришел на замену?Foenix писал(а):листвью уже все, отжил
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 44. События в ListView
doter.ua писал(а):яFoenix писал(а):а кто спрашивает?doter.ua писал(а):Кто пришел на замену?Foenix писал(а):листвью уже все, отжил
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
-
- Сообщения: 5
- Зарегистрирован: 31 окт 2013, 21:35
Re: Урок 44. События в ListView
Привет! Друзья, разъясните один момент.
Есть список listview, по нажатию на элемент списка, требуется передать адрес интернет-ресурса в другую активность с webview.
Как реализовать? Пока сделано ужасно грубо, каждый элемент списка создает новую активность, в ней webview + url
Позиций в списке около 300
Много гуглил на эту тему, и как я понял, передачей строки должен заниматься тот же intent с передаваемой строкой в слушателе OnItemClickListener
Но примеров даже похожей ситуации не нашел. Очень прошу, набросайте на коленке (или пните в нужную сторону), какой параметр с адресом должна отдавать первая активность, и как вторая должна принять на входе.
Пока сделано так:
Есть список listview, по нажатию на элемент списка, требуется передать адрес интернет-ресурса в другую активность с webview.
Как реализовать? Пока сделано ужасно грубо, каждый элемент списка создает новую активность, в ней webview + url
Позиций в списке около 300
Много гуглил на эту тему, и как я понял, передачей строки должен заниматься тот же intent с передаваемой строкой в слушателе OnItemClickListener
Но примеров даже похожей ситуации не нашел. Очень прошу, набросайте на коленке (или пните в нужную сторону), какой параметр с адресом должна отдавать первая активность, и как вторая должна принять на входе.
Пока сделано так:
Код: Выделить всё
public class StartActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_start);
// получаем экземпляр элемента ListView
ListView listView = (ListView)findViewById(R.id.listView1);
// определяем массив типа String
String[] names = getResources().getStringArray(R.array.main_menu);
//// используем адаптер данных
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names);
listView.setAdapter(adapter);
// Обработка события на клик по элементу списка
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View itemClicked, int position,
long id) {
if (position==0){
Intent intent = new Intent(StartActivity.this, OneActivity.class);
startActivity(intent);
}
else if (position==1){
Intent intent = new Intent(StartActivity.this, TwoActivity.class);
startActivity(intent);
}
else if (position==2){
Toast.makeText(getApplicationContext(), "Зачем нажали:" +
", id = " + id + ", " + parent.getAdapter().getItem(position),
Toast.LENGTH_SHORT).show();
}
}});
Re: Урок 44. События в ListView
В первой активности сделайте список с url. В onItemClick :kefir_mbis писал(а):Привет! Друзья, разъясните один момент.
Есть список listview, по нажатию на элемент списка, требуется передать адрес интернет-ресурса в другую активность с webview.
Как реализовать? Пока сделано ужасно грубо, каждый элемент списка создает новую активность, в ней webview + url
Позиций в списке около 300
Много гуглил на эту тему, и как я понял, передачей строки должен заниматься тот же intent с передаваемой строкой в слушателе OnItemClickListener
Но примеров даже похожей ситуации не нашел. Очень прошу, набросайте на коленке (или пните в нужную сторону), какой параметр с адресом должна отдавать первая активность, и как вторая должна принять на входе.
Пока сделано так:
Код: Выделить всё
public class StartActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setContentView(R.layout.activity_start); // получаем экземпляр элемента ListView ListView listView = (ListView)findViewById(R.id.listView1); // определяем массив типа String String[] names = getResources().getStringArray(R.array.main_menu); //// используем адаптер данных ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names); listView.setAdapter(adapter); // Обработка события на клик по элементу списка listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id) { if (position==0){ Intent intent = new Intent(StartActivity.this, OneActivity.class); startActivity(intent); } else if (position==1){ Intent intent = new Intent(StartActivity.this, TwoActivity.class); startActivity(intent); } else if (position==2){ Toast.makeText(getApplicationContext(), "Зачем нажали:" + ", id = " + id + ", " + parent.getAdapter().getItem(position), Toast.LENGTH_SHORT).show(); } }});
Код: Выделить всё
Intent intent = new Intent(StartActivity.this, UrlActivity.class);
intent.putExtra("url", vashSpisok.get(position));
startActivity(intent);
Код: Выделить всё
String url = getIntent().getStringExtra("url");
-
- Сообщения: 5
- Зарегистрирован: 31 окт 2013, 21:35
Re: Урок 44. События в ListView
Я от этого урока и отталкивался. Там передается значение текста в string, которое отображается в новой активности.Realist писал(а):
В первой активности сделайте список с url. В onItemClick :Во второй активности в onCreate:Код: Выделить всё
Intent intent = new Intent(StartActivity.this, UrlActivity.class); intent.putExtra("url", vashSpisok.get(position)); startActivity(intent);
Урок 28 почитайте.Код: Выделить всё
String url = getIntent().getStringExtra("url");
Но я повторюсь, не нашел примеров для моего случая, оттуда и сложности.
За оперативность и подсказку огромное спасибо
-
- Сообщения: 5
- Зарегистрирован: 31 окт 2013, 21:35
Re: Урок 44. События в ListView
Сделал так:kefir_mbis писал(а):
Я от этого урока и отталкивался. Там передается значение текста в string, которое отображается в новой активности.
Но я повторюсь, не нашел примеров для моего случая, оттуда и сложности.
За оперативность и подсказку огромное спасибо
Первая активность
Код: Выделить всё
// Обработка события на клик по элементу списка
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View itemClicked, int position,
long id) {
if (position==0){
Intent intent = new Intent(StartActivity.this, One_oneActivity.class);
intent.putExtra("KeyName", "http://ya.ru"); // pass your values and retrieve them in the other Activity using AnyKeyName
startActivity(intent);
}
Код: Выделить всё
protected void initUI() {
mWebViewone_one = ((FrameLayout)findViewById(R.id.webViewone_one));
if (WebView == null) {
WebView = new WebView(this);
String data = getIntent().getExtras().getString("KeyName");
WebView.loadUrl(data);
WebView.getSettings().setJavaScriptEnabled(true);
}
Realist, спасибо за помощь
Re: Урок 44. События в ListView
Таже проблема, не работает ItemSelect, не могу никак разобраться ......i.lavrenov писал(а):Добавьте эту информацию в урок, пожалуйста!MASK писал(а):Спасибо большое за это сообщение, а то я уже не знала как заставить работать этот OnItemSelectedListener. На эмуляторе теперь работает, а вот как его активировать на реальном девайсе - ума не приложу, там-то нет клавиатуры с пробеломSerge писал(а):После этого урока возник вопрос по эмулятору.
ItemSelect у меня вызывается только при нажатии пробела, при этом позиционируется на строке, где был последний клик. Ни кнопки курсора, ни колесо мыши не работает.
Если кто-то разобрался - прошу помощи, хотя подозреваю, что этот метод на самом деле оставлен в коде рудиментарно и в жизни не используется.
Буду рада любым ответам!
Re: Урок 44. События в ListView
мне тоже стало интересно и вот что оказывается. нажатие в режиме Touch mode не вызывает это событие, т.к. не происходит выделения элемента. Это событие срабатывает только когда выделения происходит с помощью аппаратных кнопок. Поэтому у коллеги и сработало по пробелу.MASK писал(а):Спасибо большое за это сообщение, а то я уже не знала как заставить работать этот OnItemSelectedListener. На эмуляторе теперь работает, а вот как его активировать на реальном девайсе - ума не приложу, там-то нет клавиатуры с пробеломSerge писал(а):После этого урока возник вопрос по эмулятору.
ItemSelect у меня вызывается только при нажатии пробела, при этом позиционируется на строке, где был последний клик. Ни кнопки курсора, ни колесо мыши не работает.
Если кто-то разобрался - прошу помощи, хотя подозреваю, что этот метод на самом деле оставлен в коде рудиментарно и в жизни не используется.
Буду рада любым ответам!
Приведу оригинал ответа с одного сайта:
It's because you happen to be testing with your fingers on a touch-enabled device. In touch mode, there is no focus and no selection. UIs that need selection should use a different type of widget, such as radio buttons.
кстати, именно поэтому в уроке автор написал, прокрутите клавишами. Т.к. урок написан давно, явно что то поменялось. У меня в эмуляторе кнопки не работают в принципе.
Re: Урок 44. События в ListView
Всем привет!
Пишу мое первое приложение, сборник песен. Сначала выводится весь список песен и смотря какую песню пользователь выберет, открывается второе Activity и там по идее должен отобразиться текст этой песни. Для каждого текста есть свой string-array c именем - "lied+номер песни". Есть у кого-нибудь идеи, как это лучше оформить? Думал сделать это так: считывается позиция нажатие и передается в другую Activity, т.е. если песни идут по порядку, то позиция + 1 это номер песни, или? Но как мне теперь выбрать в функции getResources().getStringArray() именно эту песню, если там надо имя string-array вводить?
Пишу мое первое приложение, сборник песен. Сначала выводится весь список песен и смотря какую песню пользователь выберет, открывается второе Activity и там по идее должен отобразиться текст этой песни. Для каждого текста есть свой string-array c именем - "lied+номер песни". Есть у кого-нибудь идеи, как это лучше оформить? Думал сделать это так: считывается позиция нажатие и передается в другую Activity, т.е. если песни идут по порядку, то позиция + 1 это номер песни, или? Но как мне теперь выбрать в функции getResources().getStringArray() именно эту песню, если там надо имя string-array вводить?