Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Strizhonok
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 9
1

Не срабатывает событие нажатия на ImageButton в Gridview

01.11.2017, 20:30. Просмотров 336. Ответов 1
Метки нет (Все метки)

Пример с офф сайта брала, почему то не работает
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
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
 
public class CountryListFragment extends Fragment
{
    View mainView;//главная вьюшка на которую все прикрепится
    GridView mainCountryList;
 
    private int sizeX; //размеры экрана
    private int sizeY;
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getDisplayParam();
 
       /* */
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        int countColumn = 3;
        int gridHeight = sizeY / 3;
        int gridWidth = sizeX / countColumn;
 
        mainView = inflater.inflate(R.layout.country_list, container, false);
 
        mainCountryList = (GridView)mainView.findViewById(R.id.list);
        mainCountryList.setNumColumns(countColumn);
        mainCountryList.setAdapter(new ImageAdapter(getActivity(), gridWidth, gridHeight));
        mainCountryList.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id)
            {
                Log.d("travel1", "click");
                Intent intentDetail = new Intent(getActivity(), DetailActivity.class);
                startActivity(intentDetail);
            }
        });
 
        mainCountryList.setClickable(true);
        return mainView;
    }
 
    private void getDisplayParam()
    {
        DisplayMetrics display = new DisplayMetrics();
        getActivity().getWindowManager().getDefaultDisplay().getMetrics(display);
        sizeX = display.widthPixels;
        sizeY = display.heightPixels;
    }
}
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
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageButton;
 
import com.squareup.picasso.Picasso;
 
public class ImageAdapter extends BaseAdapter
{
    private Context mContext;
    private int height;
    private int width;
 
    public ImageAdapter(Context c, int gridWidth, int gridHeight)
    {
        mContext = c;
 
        height = gridHeight;
        width = gridWidth;
    }
 
    public int getCount()
    {
        return CountryUrl.length;
    }
 
    public Object getItem(int position)
    {
        return null;
    }
 
    public long getItemId(int position)
    {
        return 0;
    }
 
    public View getView(int position, View convertView, ViewGroup parent)
    {
        ImageButton countryView;
        if (convertView == null)
        {
            // if it's not recycled, initialize some attributes
            countryView = new ImageButton(mContext);
            countryView.setLayoutParams(new GridView.LayoutParams(width, height));
            countryView.setScaleType(ImageButton.ScaleType.CENTER_CROP);
            countryView.setPadding(1, 1, 1, 1);
        }
        else
        {
            countryView = (ImageButton) convertView;
        }
 
        //countryView.setImageResource(CountryUrl[position]);
        /*Picasso.with(mContext) //передаем контекст приложения
                .load(CountryUrl[position]) //адрес изображения
                .resize(width, height)
                .into(countryView);*/
        return countryView;
    }
 
    private String [] CountryUrl =
   {
           "http://www.publy.ru/wp-content/uploads/2013/11/10-620x413.jpg",
           "http://tut1.ru/uploads/posts/2012-11/1353661172_efel.jpg",
           "http://fellowtraveler.ru/sites/default/files/field/image/dostoprimechatelnosti-japonii_1.JPG"
    };
 
    static public String [] CountryList =
    {
            "Россия",
            "Франция",
            "Япония"
    };
 
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorForestGreenApp"
    android:orientation="vertical">
 
    <GridView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:horizontalSpacing="1dp"
        android:verticalSpacing="1dp" />
</LinearLayout>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2017, 20:30
Ответы с готовыми решениями:

Анимация нажатия кнопки ImageButton
Есть ImageButton - как сделать анимацию уменьшения при нажатии?

Событие Click не срабатывает у контрола LinkButton в GridView
привет всем! тут такая проблема! у меня есть gridview, несколько полей для отображения данных, и...

Не срабатывает событие нажатия кнопки
Привет, private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e) { ...

Не срабатывает лямбда-событие нажатия динамической кнопки
protected void Button0_Click(object sender, EventArgs e) { ButtonList.Add(new Button()); ...

Событие нажатия клавиши не срабатывает, если добавить элементы на форму
Всем привет. Нужен совет в какую сторону смотреть. Есть форма. На ней нужно отлавливать нажатие...

1
Pablito
2825 / 2244 / 759
Регистрация: 12.05.2014
Сообщений: 7,847
Завершенные тесты: 1
02.11.2017, 10:35 2
сегодня просто утро дебильных тем, одна лучше другой

что значит "не работает"?
Цитата Сообщение от Strizhonok Посмотреть сообщение
Пример с офф сайта брала
ага, конечно.. на офф сайте там код не форматируют и переменные называют по конвенции
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2017, 10:35

Не срабатывает ImageButton_Click у динамически добавленной ImageButton
Нужна помощь! Потратил не один день на решение этой задачи. Задача: Есть дерево, по выбору одно...

Неверная обработка нажатия ImageButton
Здравствуйте, на странице есть две кнопки: простая и ImageButton, при нажатии на простую кнопку...

GridView Linq to XML не срабатывает
Почему этот код не срабатывает XElement xelem12 =...


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

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

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