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

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

Войти
Регистрация
Восстановить пароль
 
correcеt
-1 / 3 / 1
Регистрация: 20.04.2011
Сообщений: 412
#1

Обработка нажатия массива из imageview - Программирование Android

20.03.2016, 15:31. Просмотров 158. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Ребята!
У меня приложение viewpager, спайпом перехожу по активити, на каждой активити у меня по 7 imageview с уникальным id. Как мне обработать нажатие на mage view?
ОШИБОК НИКАКИХ НЕТ, нажимаю на imageview1 или любой другой из 7 и ничего не происходит.
Обработка нажатия массива из imageview
Класс pagefragment в котором я "возвращаю свои активити"
(импорт библиотек сюда не писал,т.к экономлю место)
Кликните здесь для просмотра всего текста
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
package com.example.navigate.viewpager1;
 
/**
 * Created by Pavel on 21.02.2016.
 */
public class PageFragment extends Fragment {
    ImageView[] arr_imageA = new ImageView[7];
    static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
 
    int pageNumber;
 
 
    static PageFragment newInstance(int page) {
        PageFragment pageFragment = new PageFragment();
        Bundle arguments = new Bundle();
        arguments.putInt(ARGUMENT_PAGE_NUMBER, page);
        pageFragment.setArguments(arguments);
        return pageFragment;
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);
 
 
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        View rootView= inflater.inflate(R.layout.fragment,container, false);
 
        if (pageNumber == 1) {
            rootView = inflater.inflate(R.layout.fragment2, null);}
 
 
 
        return rootView;
    }
 
}


Класс mainactivity
Кликните здесь для просмотра всего текста
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
78
79
80
81
82
83
84
85
86
package com.example.navigate.viewpager1;
 
 
public class MainActivity  extends FragmentActivity {
 
 
 
    boolean isClicked;
    Toast toast;
    ImageView fab;
    static final int PAGE_COUNT = 2;
    ViewPager pager;
    PagerAdapter pagerAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pager = (ViewPager) findViewById(R.id.pager);
        pagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
        pager.setAdapter(pagerAdapter);
 
        fab();
    }
private void fab(){
    fab=(ImageView)findViewById(R.id.fab);
 
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(isClicked == false) {
                isClicked = true;
                                fab.setImageResource(R.drawable.speaker_icon_offf);
 
                toast.makeText(MainActivity.this, R.string.sound_off, Toast.LENGTH_SHORT).show();
 
            }
 
            else {
                isClicked = false;
 
                fab.setImageResource(R.drawable.speaker_icon_onn);
 
                toast.makeText(MainActivity.this, R.string.sound_on, Toast.LENGTH_SHORT).show();
 
 
            }
 
        }
    });
 
}
 
 
 
 
    private class MyFragmentPagerAdapter extends FragmentPagerAdapter {
 
 
 
        public MyFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
 
 
 
        }
 
        @Override
        public Fragment getItem(int position) {
 
            return PageFragment.newInstance(position);
        }
 
 
        @Override
        public CharSequence getPageTitle(int position) {
            return super.getPageTitle(position);
        }
 
        @Override
        public int getCount() {
            return PAGE_COUNT;
        }
 
    }
 
}

разметка fragment
Кликните здесь для просмотра всего текста
XML
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   xmlns:tools="http://schemas.android.com/tools"
   tools:context="com.example.navigate.viewpager1.fragment"
   android:paddingLeft="1dp"
   android:paddingRight="1dp"
   android:paddingTop="1dp"
   android:paddingBottom="0dp"
   android:orientation="vertical"
   android:gravity="center"
   android:id="@+id/fragment_1"
   android:theme="@style/AppTheme.NoActionBar">
 
 
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:gravity="center">
        <View
           android:layout_width="0dp"
           android:layout_height="60dp"
           android:layout_weight="2" />
        <ImageView
 
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView1"
           android:scaleType="centerInside"
           android:src="@drawable/button_1_template"
             android:layout_gravity="center"
 
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView2"
           android:scaleType="centerInside"
           android:src="@drawable/button_1_template"
          android:layout_gravity="center"
 
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView3"
           android:scaleType="centerInside"
           android:src="@drawable/button_1_template" android:layout_gravity="center"
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView4"
          android:scaleType="centerInside"
           android:src="@drawable/button_1_template"
           android:layout_gravity="center"
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
    </LinearLayout>
 
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:gravity="center">
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView5"
           android:scaleType="centerInside"
           android:src="@drawable/button_1_template"
           android:layout_gravity="center"
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="1" />
 
 
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView6"
           android:scaleType="centerInside"
           android:src="@drawable/button_1_template"
           android:layout_gravity="center"
 
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="1" />
        <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/imageView7"
           android:scaleType="centerInside"
 
           android:src="@drawable/button_1_template"
           android:layout_gravity="center"
           />
        <View
           android:layout_width="0dp"
           android:layout_height="10dp"
           android:layout_weight="2" />
    </LinearLayout>
 
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="wrap_content"
       android:layout_height="87dp"
       android:gravity="bottom">
 
        >
        <View
           android:layout_width="0dp"
           android:layout_height="0dp"
           android:layout_weight="5" />
 
 
    </LinearLayout>
</LinearLayout>


acttivity_main где мой viewpager
Кликните здесь для просмотра всего текста
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
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
 
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.example.navigate.viewpager1.MainActivity">
 
 
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/background"
        />
 
 
    <ImageView
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="@dimen/fab_margin"
 
        android:src="@drawable/speaker_icon_onn"
 
       />
 
 
</android.support.design.widget.CoordinatorLayout>


Вот так пытаюсь обработать:
Кликните здесь для просмотра всего текста
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
package com.example.navigate.viewpager1;
 
 
public class fragment extends FragmentActivity {
    ImageView[] arr_imageA = new ImageView[7];
    static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
 
    int pageNumber;
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        arr_imageA[0] = (ImageView) findViewById(R.id.imageView1);
        arr_imageA[1] = (ImageView) findViewById(R.id.imageView2);
        arr_imageA[2] = (ImageView) findViewById(R.id.imageView3);
        arr_imageA[3] = (ImageView) findViewById(R.id.imageView4);
        arr_imageA[4] = (ImageView) findViewById(R.id.imageView5);
        arr_imageA[5] = (ImageView) findViewById(R.id.imageView6);
        arr_imageA[6] = (ImageView) findViewById(R.id.imageView7);
        for (int i = 0; i < arr_imageA.length; i++) {
            arr_imageA[i].setOnClickListener(clickListener);
        }
    }
 
    View.OnClickListener clickListener = new View.OnClickListener(){
 
        @Override
        public void onClick(View arg0) {
            Intent myIntent = null;
            switch (arg0.getId()){
                case R.id.imageView1:
                    myIntent = new Intent(fragment.this, a1.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView2:
                    myIntent = new Intent(fragment.this, a2.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView3:
                    myIntent = new Intent(fragment.this, a3.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView4:
                    myIntent = new Intent(fragment.this, a4.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView5:
                    myIntent = new Intent(fragment.this, a5.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView6:
                    myIntent = new Intent(fragment.this,a6.class);
                    startActivity(myIntent);
                    break;
                case R.id.imageView7:
                    myIntent = new Intent(fragment.this, a7.class);
                    startActivity(myIntent);
            }
 
        }
 
    };
 
}

Это все в классе fragment, по нажатию ничего не происходит
Обработку нажатию я реализовываю в классе fragment.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2016, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка нажатия массива из imageview (Программирование Android):

Скопировать картинку из одной ImageView в другую ImageView - Программирование Android
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же картинку поставить в другую вью, а в первой...

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

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

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

Обработка длительного нажатия - Программирование Android
В игре нужно перемещать предмет тогда, когда палец на экране: пальцем касаюсь экрана (не важно, в какой области и сколько времени) и...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2016, 15:31
Привет! Вот еще темы с ответами:

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

Обработка нажатия по координатам - Программирование Android
Есть ImageView (.png). Нужно обработать нажатия через OnTouchListener в 3-х местах этого png файла. Область каждого нажатия - круг...

CheckBox обработка события нажатия - Программирование Android
Проблема в следующем. Есть своего рода каталог картинок возле которой стоит checkbox. Человек нажимает на него, в базу записывается номер...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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