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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android LoginActivity http://www.cyberforum.ru/android-dev/thread824016.html
Здравствуйте. Я начинающий программист на Android и меня интересует такой вопрос: LoginActivity и другие не основные активности, есть ли какая ни будь информация о них? Я не смогу найти информацию о...
Программирование Android Планшет не видится для отладки Добрый день. Есть планшет DNS e73, который при рождении, видимо, был hyndai a7hd. На нем CyanogenMod 10. AVD Manager его никак не видит. В настройках включил debugging. Эффекта никакого.... http://www.cyberforum.ru/android-dev/thread823737.html
Фоновая музыка Программирование Android
Как мне сделать, чтобы у меня проигрывалась музыка на фоне, она не останавливалась бы при переходе в новое activity, и из каждого activity я мог бы ее остановить?
Программирование Android подсветка
Имеется множество EditText, нужно както красиво выделить один(цветом или чем нибудь), и с возможностью возвращения к исходному) есть предложения какие нибудь?
Программирование Android Передача данных между Активити http://www.cyberforum.ru/android-dev/thread823157.html
Все никак не могу разобраться, как передавать данные между активити? я до этого пользовался статическими полями, но это кажется не совсем корректно. К примеру у меня есть MainActivity в которой...
Программирование Android Ожидание подключения wifi Включаю wifi и пытаюсь дождаться подключения. Идея следующая final class ConnectivityReceiver extends BroadcastReceiver { private final int m_ntype; private final CountDownLatch... подробнее

Показать сообщение отдельно
Ametistos
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 37

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

31.03.2013, 18:43. Просмотров 2291. Ответов 5
Метки (Все метки)

Подскажите, есть ли какие нибудь тонкости в работе с OnLongClickListener?

Возникла такая проблема, попробую описать подробно:

ест MainActivity в которой выводится список (ListView), к списку привязываю ArrayList<Product> следующим адаптером:

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class ProductAdapter extends ArrayAdapter<Product> {
    public ProductAdapter(Context _context, int _resource,  List<Product> _items) {
        super(_context, _resource, _items);     
    }
 
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {     
        Product product = getItem(position);        
        return product.getItem();
    }
}
Product - это мой класс который содержит в себе вьюшку Item типа LinearLayou.

Теперь о 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
public class MainActivity extends Activity implements OnClickListener, OnLongClickListener {
    
    
    private static ArrayList<Product> products;
    
    private ListView myListView;
    private ProductAdapter aa;
    
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
                
        setContentView(R.layout.main);
                        
        myListView = (ListView)findViewById(R.id.myListView);
        
        products = new ArrayList<Product>();
        
        aa = new ProductAdapter(this, 0, products);
        myListView.setAdapter(aa);
                
        Product p0 = new Product(this, "fgfgfg", 10f, 1f);
        Product p1 = new Product(this, "sdf", 10f, 1f);
        Product p2 = new Product(this, "hgmn", 10f, 1f);
        Product p3 = new Product(this, "dfgh", 10f, 1f);
        
        products.add(p0);
        products.add(p1);
        products.add(p2);
        products.add(p3);
        
        int  id = 0;
        for(Product p: products) {
               View v = p.getItem();
               v.setOnLongClickListener(this);
               v.setOnClickListener(this);
               v.setId(id); 
               id++;
               
            }
        
        
        aa.notifyDataSetChanged();
        
       
       
        
    }
    
    @Override
    public void onResume() {
        super.onResume();
        
        for(Product p: products) {
               View v = p.getItem();
               v.setOnLongClickListener(this);
               v.setOnClickListener(this);
               
            }
        aa.notifyDataSetChanged();
    }
    
    @Override
    public void onRestart() {
        super.onResume();
        Log.v("A", "onRestart");
        for(Product p: products) {
               View v = p.getItem();
               v.setOnLongClickListener(this);
               v.setOnClickListener(this);             
            }
        aa.notifyDataSetChanged();
    }
 
//дальше методы для обработки кликов.....
 
}


Беда в том, что OnClickListener работает замечательно, а OnLongClickListener почему то через раз после каждого изменения в списке какие то элементы перестают откликаться...

С чем это может быть связано, может есть другой способ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru