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

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

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

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

21.08.2013, 11:23. Просмотров 6846. Ответов 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);
        }        }   });
    
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 14:23     Обработка нажатия каждого элемента List View #16
только одну строчку в логи вывело? не верю.
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
23.08.2013, 14:38  [ТС]     Обработка нажатия каждого элемента List View #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}
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 14:53     Обработка нажатия каждого элемента List View #18
сделайте фильтр по апликейшену и выложите нормальные логи с екзепшеном.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.08.2013, 14:55     Обработка нажатия каждого элемента List View #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;
    }
}
?
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
23.08.2013, 15:09  [ТС]     Обработка нажатия каждого элемента List View #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;
        }
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.08.2013, 15:56     Обработка нажатия каждого элемента List View #21
И? Работает?
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 72
26.08.2013, 10:40  [ТС]     Обработка нажатия каждого элемента List View #22
Цитата Сообщение от Digetix Посмотреть сообщение
И? Работает?
вроде да...конечно немного корявый код, но все же...

но дополнить его не могу..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2015, 23:00     Обработка нажатия каждого элемента List View
Еще ссылки по теме:
Обработка нажатия EditText Android
Android Обработка нажатия кнопок
Обработка нажатия по координатам Android
Android Обработка длительного нажатия
Обработка нажатия на RadioButton Android

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

Или воспользуйтесь поиском по форуму:
Sanysvo
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 1
04.05.2015, 23:00     Обработка нажатия каждого элемента List View #23
Я не понял как ты реализовал эту функцию через Tag. У меня точно такая же проблема сейчас: имеется огромный ListView с реализованным поиском через EditText и нужно каждому элементу списка присвоить определенную функцию которую он будет выполнять при нажатии.
Yandex
Объявления
04.05.2015, 23:00     Обработка нажатия каждого элемента List View
Ответ Создать тему
Опции темы

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