Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.63
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
#1

Обработка нажатия каждого элемента List View - Программирование Android

21.08.2013, 11:23. Просмотров 7027. Ответов 22
Метки нет (Все метки)

Доброго времени суток!
Нужна помощь в реализации нажатия на элемент лист вью. Необходимо присвоить каждому в списке элементу переход на разные активити.
Я попробовал реализовать следующим способом, но при осуществления поиска по элементам, первый найденный элемент тоже переходит на ту активити, которая задана для первого элемента массива, как это исправить?
Java
1
2
3
4
5
6
7
8
9
10
11
12
 lv.setOnItemClickListener(new OnItemClickListener() {
     
        public void onItemClick(AdapterView<?> arg0,
                            View arg1, int position, long arg3)
       {
            switch (position) {
            case 0:
                Intent intent = new Intent(getActivity(), bbns.class);
                startActivity(intent);
        }        }   });
    
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 11:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка нажатия каждого элемента List View (Программирование Android):

Обработка нажатия на часть элемента списка - Программирование Android
Как в Android обработать нажатие не на весь элемент списка ListView, а на отдельный его элемент? onItemClickListener обрабатывает вроде...

list view управление - Программирование Android
у меня есть лист вью на шаблоне одна надпись и три кнопки, вот вопрос как управлять то этими кнопка как обрабатывать (ЗЫ знаю как...

Expandable List View Android - Программирование Android
Создал кастомный выдвигающийся список, но при запуске приложения адаптер списка не вызывает метод getChildView и элементы группы не...

Fragment как в нем добавить List View - Программирование Android
В моей программе я с главного активити через naviganion drawer попадаю во фрагмент и в этом фрагменте мне нужно чтобы у меня был list view....

Добавление элемента - наследника View - Программирование Android
Здравствуйте. Пишу для Android простенькую игрушку. Для нее мне понадобилось написать класс, рисующий круг - наследник View. На экране...

Обработка нажатия на RadioButton - Программирование Android
Постигаю андроид. Не могу разобраться со свичем. EditText принимает число, сохранил его, дальше выбираю RadioBatton и нифига не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 14:23 #16
только одну строчку в логи вывело? не верю.
0
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
23.08.2013, 14:38  [ТС] #17
Цитата Сообщение от V0v1k Посмотреть сообщение
только одну строчку в логи вывело? не верю.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
I/ActivityManager(  234): Start proc ru.startandroid.develop.p0771tabintent for activity ru.startandroid.develop.p0771tabintent/.MainActivity: pid=23549 uid=10119 gids={}
V/ActivityManager(  234): Binding process pid 23549 to record ProcessRecord{42704348 23549:ru.startandroid.develop.p0771tabintent/10119}
V/ActivityManager(  234): New app record ProcessRecord{42704348 23549:ru.startandroid.develop.p0771tabintent/10119} thread=android.os.BinderProxy@4259c550 pid=23549
V/ActivityManager(  234): Launching: ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}
V/ActivityManager(  234): Activity idle: Token{42ba4160 ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}}
V/ActivityManager(  234): Removing app ProcessRecord{42aaf7b8 0:com.exent.android.gametanium/10029} from list [ActivityRecord{429afd40 com.android.systemui/.usb.UsbStorageActivity}, ActivityRecord{428fe960 com.android.settings/.Settings}, ActivityRecord{4135e2b8 com.lenovo.launcher/com.lenovo.launcher2.Launcher}, ActivityRecord{41742730 org.jtb.alogcat/.LogActivity}, ActivityRecord{418546d0 com.topface.topface/.ui.NavigationActivity}, ActivityRecord{4258d678 com.topface.topface/.ui.ContainerActivity}, ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}] with 7 entries
V/ActivityManager(  234): Record #6 ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}: app=ProcessRecord{42704348 23549:ru.startandroid.develop.p0771tabintent/10119}
V/WindowManager(  234): Changing focus from null to Window{4185cb18 ru.startandroid.develop.p0771tabintent/ru.startandroid.develop.p0771tabintent.MainActivity paused=false}
I/WindowManager(  234): Gaining focus: Window{4185cb18 ru.startandroid.develop.p0771tabintent/ru.startandroid.develop.p0771tabintent.MainActivity paused=false}
E/AndroidRuntime(23549):    at ru.startandroid.develop.p0771tabintent.FragmentView3.onActivityCreated(FragmentView3.java:36)
W/ActivityManager(  234):   Force finishing activity ru.startandroid.develop.p0771tabintent/.MainActivity
V/WindowManager(  234): Changing focus from Window{4185cb18 ru.startandroid.develop.p0771tabintent/ru.startandroid.develop.p0771tabintent.MainActivity paused=true} to Window{41860588  paused=false}
W/ActivityManager(  234): Activity pause timeout for ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}
V/ActivityManager(  234): Stopping ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}: nowVisible=false waitingVisible=true finishing=true
V/ActivityManager(  234): Stopping ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}: nowVisible=true waitingVisible=false finishing=true
V/ActivityManager(  234): Ready to stop: ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}
I/WindowManager(  234): WIN DEATH: Window{4185cb18 ru.startandroid.develop.p0771tabintent/ru.startandroid.develop.p0771tabintent.MainActivity paused=false}
I/ActivityManager(  234): Process ru.startandroid.develop.p0771tabintent (pid 23549) has died.
V/ActivityManager(  234): Dying app: ProcessRecord{42704348 23549:ru.startandroid.develop.p0771tabintent/10119}, pid: 23549, thread: android.os.BinderProxy@4259c550
V/ActivityManager(  234): Removing app ProcessRecord{42704348 0:ru.startandroid.develop.p0771tabintent/10119} from list [ActivityRecord{429afd40 com.android.systemui/.usb.UsbStorageActivity}, ActivityRecord{428fe960 com.android.settings/.Settings}, ActivityRecord{41742730 org.jtb.alogcat/.LogActivity}, ActivityRecord{418546d0 com.topface.topface/.ui.NavigationActivity}, ActivityRecord{4258d678 com.topface.topface/.ui.ContainerActivity}, ActivityRecord{4135e2b8 com.lenovo.launcher/com.lenovo.launcher2.Launcher}] with 6 entries
V/ActivityManager(  234): Removing app ProcessRecord{42704348 0:ru.startandroid.develop.p0771tabintent/10119} from list [] with 0 entries
V/ActivityManager(  234): Removing app ProcessRecord{42704348 0:ru.startandroid.develop.p0771tabintent/10119} from list [] with 0 entries
V/ActivityManager(  234): Removing app ProcessRecord{42704348 0:ru.startandroid.develop.p0771tabintent/10119} from list [] with 0 entries
V/ActivityManager(  234): Removing app ProcessRecord{42704348 0:ru.startandroid.develop.p0771tabintent/10119} from list [] with 0 entries
W/ActivityManager(  234): Activity destroy timeout for ActivityRecord{42a88468 ru.startandroid.develop.p0771tabintent/.MainActivity}
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 14:53 #18
сделайте фильтр по апликейшену и выложите нормальные логи с екзепшеном.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.08.2013, 14:55 #19
А чего
Цитата Сообщение от lexus213 Посмотреть сообщение
Java
1
2
3
4
@Override
public void onActivityCreated(Bundle savedInstanceState) {
 super.onActivityCreated(savedInstanceState);
lv = (ListView) getView().findViewById(android.R.id.list);
вместо
Java
1
2
3
4
5
6
7
8
9
10
11
public class FragmentView1 extends Fragment {   
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
        
        View myView = inflater.inflate(R.layout.about, container, false);
        
      
        return myView;
    }
}
?
0
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
23.08.2013, 15:09  [ТС] #20
Цитата Сообщение от Digetix Посмотреть сообщение
А чего

вместо
Java
1
2
3
4
5
6
7
8
9
10
11
public class FragmentView1 extends Fragment {   
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
        
        View myView = inflater.inflate(R.layout.about, container, false);
        
      
        return myView;
    }
}
?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState, int position) {   
            super.onCreate(savedInstanceState);
 
            final String[] listview_names = {"Белорусский бизнес на селе","Общество с ограниченной ответственностью","Учредители ООО","Уставный фонд ООО",
                    "Частное унитарное предприятие","Юридический адрес частного УП","Учредитель частного УП",
                    "Учредительные документы ООО","Наименование частного УП","Уставный фонд частного УП","Юридический адрес ООО","Порядок регистрации частного УП",
                    "Порядок регистрации ООО (ОДО)","Регистрация ИП в Беларуси","Согласование наименования","Госпошлина за регистрацию ИП","Советы по выбору наименования организации",
                    "Порядок регистрации ИП","Общество с дополнительной ответственностью","Получение паспорта","Замена паспорта по сроку действия","Замена паспорта при утере",
                    "Ликвидация форм собственности","Регистрация форм собственности"};
            
            
            View myView = inflater.inflate(R.layout.search, container, false);
 
            et  = (EditText)myView.findViewById(R.id.EditText01);
           // lv  =   (ListView)myView.findViewById(android.R.id.list);
 
         //   
            array_sort=new ArrayList<String> (Arrays.asList(listview_names));
            setListAdapter(new bsAdapter(getActivity()));
 
            et.addTextChangedListener(new TextWatcher()
            {
                public void afterTextChanged(Editable s)
                {
                      // Abstract Method of TextWatcher Interface.
                }
                public void beforeTextChanged(CharSequence s,
                        int start, int count, int after)
                {
                    // Abstract Method of TextWatcher Interface.
                }  
                public void onTextChanged(CharSequence s,
                        int start, int before, int count)
                {
                    
 //             
                    textlength = et.getText().length();
                    array_sort.clear();
                    for (int i = 0; i < listview_names.length; i++)
                    {
                        if (textlength <= listview_names[i].length())
                        {
 
                            if(listview_names[i].toLowerCase().contains(
                                    et.getText().toString().toLowerCase().trim()))
                            {
                                array_sort.add(listview_names[i]);
                            }
                          }
                    }
                    AppendList(array_sort);
                    }
                }); 
 
            return myView;
        }
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.08.2013, 15:56 #21
И? Работает?
0
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
26.08.2013, 10:40  [ТС] #22
Цитата Сообщение от Digetix Посмотреть сообщение
И? Работает?
вроде да...конечно немного корявый код, но все же...

но дополнить его не могу..
0
Sanysvo
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 1
04.05.2015, 23:00 #23
Я не понял как ты реализовал эту функцию через Tag. У меня точно такая же проблема сейчас: имеется огромный ListView с реализованным поиском через EditText и нужно каждому элементу списка присвоить определенную функцию которую он будет выполнять при нажатии.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2015, 23:00
Привет! Вот еще темы с ответами:

Обработка длительного нажатия - Программирование Android
Добрый День! Пишу на libGdx и столкнулся с проблемой: нужно считывать время нажатия на экран. В зависимости от время нажатия на экран будут...

Обработка нажатия EditText - Программирование Android
Необходимо реализовать поля ввода дат для задания периода. Так как надо по дизайну чтобы подсказка всплывала как в TextInputLayout,...

Обработка нажатия кнопок - Программирование Android
Всем привет! Целый день мучала проблема. Что имею: телефон по bluetooth подключается к arduino и передает туда байты, в дуине это...

Обработка нажатия кнопок - Программирование Android
Здравствуйте! Недавно начал изучать программирование под Android. Узнал что для обработки нажатия кнопок используется как минимум 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.05.2015, 23:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru