Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
lexus213
3 / 3 / 1
Регистрация: 25.06.2011
Сообщений: 86
#1

отображение Listview

12.08.2013, 13:53. Просмотров 807. Ответов 2
Метки нет (Все метки)

Необходимо вывести строковый массив(listview_names) и осуществить поиск по его элементам...
код получился следующий:



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
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
public class FragmentView3 extends Fragment {
 
    String[] listview_names = {"1","2","3","лол","лал","пример","доль"};
    
    
   public EditText et;
    public ListView lv;
    
     
    private ArrayList<String> array_sort;
    int textlength=0;
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);
  //      setContentView(R.layout.one);
 
        View myView = inflater.inflate(R.layout.search, container, false);
         
        et  = (EditText)myView.findViewById(R.id.EditText01);
        lv  =   (ListView)myView.findViewById(android.R.id.list);
         
        array_sort=new ArrayList<String> (Arrays.asList(listview_names));
        setListAdapter(new bsAdapter(getActivity()));
 
 
        et.addTextChangedListener(new TextWatcher()
        {
            public void afterTextChanged(Editable s)
            {
                  // Abstract Method of TextWatcher Interface.
            }
            public void beforeTextChanged(CharSequence s,
                    int start, int count, int after)
            {
                // Abstract Method of TextWatcher Interface.
            }
            public void onTextChanged(CharSequence s,
                    int start, int before, int count)
            {
                textlength = et.getText().length();
                array_sort.clear();
                for (int i = 0; i < listview_names.length; i++)
                {
                    if (textlength <= listview_names[i].length())
                    {
                     
                         
                        if(listview_names[i].toLowerCase().contains(
                                et.getText().toString().toLowerCase().trim()))
                        {
                            array_sort.add(listview_names[i]);
                        }
                      }
                }
                AppendList(array_sort);
                }
            });
         
        lv.setOnItemClickListener(new OnItemClickListener() {
 
            public void onItemClick(AdapterView<?> arg0,
                                View arg1, int position, long arg3)
            {
                switch (position) {
                case 0:
                    Intent intent = new Intent(getActivity(), bbns.class);
                    startActivity(intent);
            }
            }
        });
        return myView;
    }
     
    public void AppendList(ArrayList<String> str)
    {
        setListAdapter(new bsAdapter (getActivity()));
    }
     
    private void setListAdapter(bsAdapter bsAdapter) {
        // TODO Auto-generated method stub
        
    }
 
    public class bsAdapter extends BaseAdapter
    {
        Activity cntx;
        public bsAdapter(Activity context)
        {
            // TODO Auto-generated constructor stub
            this.cntx=context;
 
        }
 
        public int getCount()
        {
            // TODO Auto-generated method stub
            return array_sort.size();
        }
 
        public Object getItem(int position)
        {
            // TODO Auto-generated method stub
            return array_sort.get(position);
        }
 
        public long getItemId(int position)
        {
            // TODO Auto-generated method stub
            return array_sort.size();
        }
 
        public View getView(final int position, View convertView, ViewGroup parent)
        {
            View row=null;
             
            LayoutInflater inflater=cntx.getLayoutInflater();
            row=inflater.inflate(R.layout.list, null);
             
            TextView   tv   =   (TextView)  row.findViewById(R.id.title);
             
            tv.setText(array_sort.get(position));
             
        return row;
        } 
          }
}
Проблема заключается в том, что в приложении он даже не отображается...Помогите разобраться...


Лэйаут, в котором будет отображаться листвью...


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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <EditText
        android:id="@+id/EditText01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint=""
        android:text="@string/search" />
 
    <ListView
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/EditText01"
        android:cacheColorHint="#00000000" >
 
    </ListView>
 
</RelativeLayout>

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2013, 13:53
Ответы с готовыми решениями:

Отображение ListView во фрагменте
Привет, всем! Буду очень признательна, если кто-нибудь сможет мне помочь...

Отображение записи ListView
Делаю приложение для заметок. Заметки сохраняются в файле. Механизм открытия...

ListView изменить отображение строк
Есть listView в него выводится массив String колличество символов в отлельных...

Неправильное отображение Listview создаваемого с SimpleAdapter
Никак не получается сделать отображение таким как на картинке ...

ListView. После добавления кнопки перестал быть доступен сам ListView
Кастомизировал ListView с помощью нескольких TextView. Но после того, как...

2
anya14
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 9
14.08.2013, 16:55 #2
не знаю если честно...неужели никто помочь не может?
попробуй

Java
1
2
lv = (ListView) getView().findViewById(android.R.id.list);
lv.setAdapter(new bsAdapter(getActivity()));
Добавлено через 16 минут
хотя нет, это вряд ли поможет...
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 22:27 #3
подебагайте.

Добавлено через 1 минуту
п.с.: вместо постоянного
Java
1
setListAdapter(new bsAdapter (getActivity()));
для обновления используется
Java
1
adapter.notifyDataSetChanged();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2013, 22:27

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем...

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...

Данные из SQlite в ListView, обработка события ListView
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные...


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

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

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