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

Живой поиск через один EditText в разных Listview ? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Прочитать данные из нужной БД http://www.cyberforum.ru/android-dev/thread1768036.html
Здравствуйте, у меня возник вопрос по поводу чтения данных из нужной БД. В моем приложении пользователь нажимает в ResyclerView на элемент и вызывается активность с подробной информацией об этом...
Программирование Android Кликабельная область изображения Привет! Проблема следующая: как сделать что-бы область картинки была ссылкой. При том что область произвольной, но заранее известной формы. По сути, приложение это карта региона и по клику на... http://www.cyberforum.ru/android-dev/thread1767961.html
Получить ID вконтакте Программирование Android
Можно ли получить ID вконтакте без использования VK SDK?
Программирование Android Где в проекте Android Studio лучше добавлять элементы в БД SQL?
Пишу приложение-викторину . У меня есть класс Db public class Db extends SQLiteOpenHelper { public static final String DATABASE_NAME = "questionsDb"; public static final int...
Программирование Android Как рисовать меню плитками http://www.cyberforum.ru/android-dev/thread1767340.html
Как сделать меню плитками (типа как у Windows Phone)? У плиток должна быть картинка и текст. Также отельный listener на нажатие для каждого.
Программирование Android Ошибка при компиляции Android Studio Доброго времени суток! Я только установил Android Studio, набросал пару кнопок, и решил скомпилировать. Но мне выдаёт ошибку Error:Execution failed for task ':app:compileDebugJavaWithJavac'. >... подробнее

Показать сообщение отдельно
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 563
Записей в блоге: 1
22.06.2016, 11:25  [ТС]
Паблито,

OneFragment(Tab of 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
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
public class OneFragment extends Fragment {
 
    public Elements content;
    public Elements price;
    ArrayList<Product> products = new ArrayList<Product>();
    static BoxAdapter adapter;
    ListView lv;
    EditText inputSearch;
    
    public OneFragment() {
        // Required empty public constructor
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_one, container, false);
 
        lv = (ListView) view.findViewById(R.id.listView);
       
        adapter = new BoxAdapter(getActivity(), products);
        new NewThread().execute();
 
        return view;
 
    }
 
    public class NewThread extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... arg) {
            Document doc;
            try {
                doc = Jsoup.connect("http://alvideo.su/catalog/video/video-max/1/").get();
              
               content = doc.select(".product-name");
                price = doc.select("[class=price]");
          
                products.clear();
                for (int i = 0; i < content.size(); i++) {
 
                    String st = price.get(i).text();
                    String div = ".";
                    int divider = st.indexOf(div);
                    String trimst = st.substring(0,divider);
                    st=trimst;
                 //   Log.d("tagLog", stc);
                        int cost = Integer.parseInt(st);
                        int curse = Integer.parseInt(MainActivity.curs);
                        int baks = cost/curse;
                    String  curs=String.valueOf(baks);
                    products.add(new Product(content.get(i).text(), price.get(i).text(), "("+curs+"$)"));
                }
 
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
            lv.setAdapter(adapter);
        }
    }
 
}


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
public class BoxAdapter extends BaseAdapter  {
    Context ctx;
    LayoutInflater lInflater;
    private List<Product> list = null; //Список
    private ArrayList<Product> objects; //массив для фильтра списка
    Product p;
 
    BoxAdapter(Context context, List<Product> list) {
        ctx = context;
        //objects = products;
        this.list = list;
        lInflater = LayoutInflater.from(ctx);
        this.objects = new ArrayList<Product>();
        this.objects.addAll(list);
 
    }
 
    // кол-во элементов
    @Override
    public int getCount() {
        return list.size();
    }
 
    // элемент по позиции
    @Override
    public Object getItem(int position) {
        return list.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.getName());
        ((TextView) view.findViewById(R.id.pro_item_price)).setText(p.getPrice() + "");
        ((TextView) view.findViewById(R.id.textCurs)).setText(p.getCurs() + "");
 
        return view;
    }
 
    // товар по позиции
    Product getProduct(int position) {
        return ((Product) getItem(position));
    }
 
 
 
    // Filter Class
    public void filter(String charText) {
        charText = charText.toLowerCase(Locale.getDefault());
 
        list.clear();
        if (charText.length() == 0) {
            list.addAll(objects);
 
        }
        else
        {
            for (Product prod : objects)
            {
                if (prod.getName().toLowerCase(Locale.getDefault()).contains(charText))
                {
                    list.add(prod);
 
                }
            }
 
        }
        notifyDataSetChanged();
    }
}


MainActivity(в onCreate):
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
inputSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence cs, int start, int count, int after) {
 
            }
 
            @Override
            public void onTextChanged(CharSequence cs, int start, int before, int count) {
 
            }
 
            @Override
            public void afterTextChanged(Editable cs) {
 
                String text = cs.toString().toLowerCase();//inputSearch.getText().toString().toLowerCase(Locale.getDefault());
                OneFragment.adapter.filter(text);
 
            }
        });


Разметка Main:
Кликните здесь для просмотра всего текста
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
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
 
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >
        <EditText
            android:layout_width="50dp"
            android:layout_height="25dp"
            android:id="@+id/myEditText"
            android:layout_gravity="right"
            android:layout_margin="5dp"
android:textColor="#832828"
 
            android:background="#fff5d2" >
 
            </EditText>
            </android.support.v7.widget.Toolbar>
 
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/inputSearch"
            android:hint="Search products.."
            android:inputType="textVisiblePassword"/>
 
        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimaryDark"
            app:tabMode="scrollable"
            app:tabGravity="fill"/>
    </android.support.design.widget.AppBarLayout>
 
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"  />
</android.support.design.widget.CoordinatorLayout>


fragment_one:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="1">
 
    
    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="50dp" />
 
</LinearLayout>
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru