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

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

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

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

20.03.2016, 15:31. Просмотров 139. Ответов 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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2016, 15:31     Обработка нажатия массива из imageview
Посмотрите здесь:

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

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

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

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

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

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

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

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

AlertDialog обработка нажатия PositiveButton - Программирование Android
Можно сделать так чтобы при нажатии на PositiveButton диалог не закрывался? AlertDialog.Builder builder = new...

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

Обработка нажатия элементов контекстного меню - Программирование Android
Здравствуйте! Выполняю ДЗ по урокам андройд и вот с чем столкнулся. public class MainActivity extends AppCompatActivity { ...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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