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

Filterable не понимаю как в адаптере взять String значение по позиции ? - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Android.os.NetworkOnMainThreadException при создании сокета http://www.cyberforum.ru/android-dev/thread1764078.html
Доброго времени суток товарищи. Возникла очень серьезная проблемма. Решил я сделать сетевой чат. Ну все вроде норм. Сервер и клиент запускаются на одном устройстве. Но вот если во WI-FI подключить другой телефон то он не может присоединиться. Я хз что делать. Помогите пожалуйста. Вот тут весь кодТЫК
Android Регистрация аккаунта разработчика Здравствуйте! Обращаюсь ко всем кто регистрировал аккаунт разработчика. Скажите, пожалуйста, карта для оплаты нужна в долларах или подойдет любая (в моем случае в гривнах)? И возможно ли потом на эту карту выводить деньги с admob? http://www.cyberforum.ru/android-dev/thread1763883.html
Android Handlers в новом потоке
Почему не могу создать handlers в новом потоке ? Thread streamThread = new Thread(new Runnable() { public void run() { android.os.Handler h = new android.os.Handler(); } }; Приложение вылетает (
Распаковка Zip Android
Ребят, помогите доработать код. Распаковывает зип на отлично, только мне нужно, чтобы он еще и распаковывал файлы в папку с таким именем как и имя архива. private boolean unpackZip(String path, String zipname) { InputStream is; ZipInputStream zis; try { is = new FileInputStream(path + zipname); zis = new ZipInputStream(new...
Android Как вывести объекты списком? http://www.cyberforum.ru/android-dev/thread1763787.html
В XML расположил все объекты вертикально. Но при компиляции многие объекты, которые в низу не выводятся, по идее должен появиться скрул (Я так думаю), но он не появляется. Подскажите в какой объект поместить все остальные объекты, что бы их можно было прокручивать в списке. Заранее спасибо.
Android Где лучше хранить рисунки в приложении? Доброго дня. В моём приложении будет пакет рисунков. Куда их лучше положить, в res\drawable или в assets, с прицелом в дальнейшем на то что пользователь будет добавлять свои рисунки? Предустановленные рисунки и те то будут сделаны потом (сфотографированы на камеру например) одной природы, другими словами это "обложки" неких объектов. И соответственно хотелось что бы все рисунки располагались в... подробнее

Показать сообщение отдельно
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 456

Filterable не понимаю как в адаптере взять String значение по позиции ? - Android

16.06.2016, 11:29. Просмотров 269. Ответов 13
Метки (Все метки)

fragment:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
inputSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence cs, int start, int count, int after) {
                OneFragment.this.adapter.getFilter().filter(cs);
            }
 
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
 
            }
 
            @Override
            public void afterTextChanged(Editable s) {
 
            }
        });


adapter:
Кликните здесь для просмотра всего текста
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
87
88
89
90
91
92
public class BoxAdapter extends BaseAdapter implements Filterable {
    Context ctx;
    LayoutInflater lInflater;
    ArrayList<Product> objects;
    Product p, pn;
    BoxAdapter(Context context, ArrayList<Product> products) {
        ctx = context;
        objects = products;
        lInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
    // кол-во элементов
    @Override
    public int getCount() {  return objects.size();}
 
    // элемент по позиции
    @Override
    public Object getItem(int position) { return objects.get(position); }
 
    // id по позиции
    @Override
    public long getItemId(int position) { return position; }
 
    // пункт списка
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // используем созданные, но не используемые view
        View view = convertView;
        if (view == null) {
            view = lInflater.inflate(R.layout.list_item, parent, false);
        }
 
        p = getProduct(position); 
 
        // заполняем View в пункте списка данными из товаров: наименование, цена и картинка
        ((TextView) view.findViewById(R.id.pro_item)).setText(p.name);
        ((TextView) view.findViewById(R.id.pro_item_price)).setText(p.price + "");
        ((TextView) view.findViewById(R.id.textCurs)).setText(p.curs + "");
       // ((ImageView) view.findViewById(R.id.ivImage)).setImageResource(p.image);
 
//        CheckBox cbBuy = (CheckBox) view.findViewById(R.id.cbBox);
//        // присваиваем чекбоксу обработчик
//        cbBuy.setOnCheckedChangeListener(myCheckChangList);
//        // пишем позицию
//        cbBuy.setTag(position);
//        // заполняем данными из товаров: в корзине или нет
//        cbBuy.setChecked(p.box);
        return view;
    }
 
    // товар по позиции
   Product getProduct(int position)   { return ((Product) getItem(position)); }
 
    @Override
    public Filter getFilter() {
        Filter filter = new Filter() {
 
            @SuppressWarnings("unchecked")
            @Override
            protected void publishResults(CharSequence constraint, FilterResults results) {
            objects =  (ArrayList<Product>) results.values;
               // arrayListNames = (List<String>) results.values;
                notifyDataSetChanged();
            }
 
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
 
                FilterResults results = new FilterResults();
                ArrayList<String> FilteredArrayNames = new ArrayList<String>();
 
                // perform your search here using the searchConstraint String.
 
                constraint = constraint.toString().toLowerCase();
                for (int i = 0; i < objects.size(); i++) {
                    String dataNames =  objects.get(i).name;// НЕЗНАЮ ПРАВИЛЬНО ЛИ ТУТ???
                    if (dataNames.toLowerCase().startsWith(constraint.toString()))  {
                        FilteredArrayNames.add(dataNames);
                    }
                }
 
                results.count = FilteredArrayNames.size();
                results.values = FilteredArrayNames;
                Log.e("VALUES", results.values.toString());
 
                return results;
            }
        };
 
        return filter;
    }
}


класс Product:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Product {
 
    String  name;
    String     price;
    String     curs;
    int     image;
    boolean box;
 
    //Product(String _describe, String _price, int _image, boolean _box) {
    Product(String _describe, String _price, String _curs) {
        name = _describe;
        price = _price;
        curs = _curs;
//        image = _image;
//        box = _box;
    }
 
}


при вводе символа в EditText сыпется, ругается на эти строки:
Java
1
2
p = getProduct(position); 
Product getProduct(int position)   { return ((Product) getItem(position)); }
с такой ошибкой:
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
FATAL EXCEPTION: main
                                                                      java.lang.ClassCastException: java.lang.String cannot be cast to com.dis.alprice.Product
                                                                          at com.dis.alprice.BoxAdapter.getProduct(BoxAdapter.java:67)
                                                                          at com.dis.alprice.BoxAdapter.getView(BoxAdapter.java:47)
                                                                          at android.widget.AbsListView.obtainView(AbsListView.java:2143)
                                                                          at android.widget.ListView.makeAndAddView(ListView.java:1831)
                                                                          at android.widget.ListView.fillSpecific(ListView.java:1320)
                                                                          at android.widget.ListView.layoutChildren(ListView.java:1630)
                                                                          at android.widget.AbsListView.onLayout(AbsListView.java:1994)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                          at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
                                                                          at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037)
                                                                          at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747)
                                                                          at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                                          at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1156)
                                                                          at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:760)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                          at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
                                                                          at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                          at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
                                                                          at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                          at android.view.View.layout(View.java:14008)
                                                                          at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                          at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1892)
                                                                          at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1711)
                                                                          at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
                                                                          at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
                                                                          at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
                                                                          at android.view.Choreographer.doCallbacks(Choreographer.java:562)
                                                                          at android.view.Choreographer.doFrame(Choreographer.java:532)
                                                                          at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
                                                                          at android.os.Handler.handleCallback(Handler.java:725)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                          at android.os.Looper.loop(Looper.java:137)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5041)
                                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                                          at java.lang.reflect.Method.invoke(Method.java:511)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                                                                          at dalvik.system.NativeStart.main(Native Method)
что не правильно, может быть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru