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

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

Войти
Регистрация
Восстановить пароль
 
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
#1

Прослушать на клик LinearLayout - Android

18.10.2012, 16:27. Просмотров 675. Ответов 1
Метки нет (Все метки)

Здраствуйте, у меня есть LinearLayout со своими компонентами внутри... я ево несколько раз добавляю в активити, тойсть делаю список... как я могу прослушевать на клик каждий из етих лойаутов???


вот мой код:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout My_linLayout = null;
        
        ImageView my_image_Datapiker=(ImageView)findViewById(R.id.iV_Datapiker);
         my_image_Datapiker.setBackgroundResource(R.drawable.ic_launcher);
         llMain = (LinearLayout) findViewById(R.id.llMain);
         
        LinearLayout linLayout = (LinearLayout) findViewById(R.id.lin);
       
        LayoutInflater ltInflater = getLayoutInflater();
       LayoutInflater My_ltInflater = getLayoutInflater();
      Mess_ltInflater = getLayoutInflater();
          for (int i = 0; i < 10; i++){
            View item = ltInflater.inflate(R.layout.listview_xml_item, linLayout, false);
            TextView hour = (TextView) item.findViewById(R.id.hour);
            hour.setText(i+":00   ");
            My_linLayout = (LinearLayout) item.findViewById(R.id.list_Messag);
            item.setBackgroundResource(R.color.red);
            //--------------------------------------------------------------
            
            for (int j = 0; j < 3; j++){
            View My_item = My_ltInflater.inflate(R.layout.list, My_linLayout, false);
            my_data = (TextView) My_item.findViewById(R.id.tV_My_data);
            my_data.setText(j+"Name,SName");
            ImageView my_image=(ImageView) My_item.findViewById(R.id.iV_My);
            my_image.setBackgroundResource(R.drawable.one);
        //    if(j==0) My_linLayout. else My_linLayout.setBackgroundColor(0);
            if(j==0) 
                My_item.setBackgroundResource(R.color.greenColor); 
            else
                My_item.setBackgroundResource(R.color.yellow);
//--------------------------------------------------------------------
             Mess_linLayout = (LinearLayout) My_item.findViewById(R.id.form_list);
          /*  for (int k = 0; k < 10; k++){
                View Mess_item = Mess_ltInflater.inflate(R.layout.messeg_item, Mess_linLayout, false);
                TextView Mess = (TextView) Mess_item.findViewById(R.id.tV_messeg1);
                Mess.setText(k+"Messege");
                Mess_item.getLayoutParams().width = LayoutParams.FILL_PARENT;
                Mess_item.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
                Mess_linLayout.addView(Mess_item);
                
            }*/
            
            //----------------------------------------------------------------
            My_item.getLayoutParams().width = LayoutParams.FILL_PARENT;
            My_item.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
            My_linLayout.addView(My_item);
            
            }  
              item.getLayoutParams().width = LayoutParams.FILL_PARENT;
            linLayout.addView(item);
           
           
        }
          
          
          
          My_linLayout.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                     for (int k = 0; k < 10; k++){
                        View Mess_item = Mess_ltInflater.inflate(R.layout.messeg_item, Mess_linLayout, false);
                        TextView Mess = (TextView) Mess_item.findViewById(R.id.tV_messeg1);
                        Mess.setText(k+"Messege");
                        Mess_item.getLayoutParams().width = LayoutParams.FILL_PARENT;
                        Mess_item.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
                        Mess_linLayout.addView(Mess_item);
                        
                        
                    }
                
            }
        });


тойсть на нажатии у мена прослушевается только последний, а остальные нет... а мне нужно чтобы каждый прослушевалса отдельно...


Зарание спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 16:27     Прослушать на клик LinearLayout
Посмотрите здесь:

Android Прослушать ExpandableListView
LinearLayout vs RelativeLayout Android
selector и linearlayout Android
Менять размеры LinearLayout пальцем Android
Программное создание LinearLayout в RelativeLayout Android
Свайп по linearlayout Android
Как сделать свайп в linearlayout Android
Android Добавление кнопок на LinearLayout на Java
Android Отображение ScrollView в LinearLayout
Android Стиль LinearLayout
По поводу ListView, LinearLayout? Android
Не работает marginRight в LinearLayout Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
18.10.2012, 18:50     Прослушать на клик LinearLayout #2
You can do this either in the XML:
android:clickable="true"
or in Java code:
myLinearLayout.setClickable( true );

EDIT
ну можно сделать setOnClickListener для каждого LinearLayout
Yandex
Объявления
18.10.2012, 18:50     Прослушать на клик LinearLayout
Ответ Создать тему
Опции темы

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