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

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

Войти
Регистрация
Восстановить пароль
 
lexus213
3 / 3 / 0
Регистрация: 25.06.2011
Сообщений: 71
#1

отображение Listview - Программирование Android

12.08.2013, 13:53. Просмотров 745. Ответов 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>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2013, 13:53     отображение Listview
Посмотрите здесь:

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

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

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

Неправильное отображение Listview создаваемого с SimpleAdapter - Программирование Android
Никак не получается сделать отображение таким как на картинке http://developer.alexanderklimov.ru/android/theory/simpleadapter1.png ...

Альтернатива ListView - Программирование Android
Использую ListView Но оказывается его нельзя использовать внутри ScrollView Подскажите какой есть аналог? Чтобы Вывести данные из...

RadioButton в ListView - Программирование Android
Есть две разметки одна со списком, другая отвечает за элемент списка в которой присутствует RadioButton. Создал я кастомный адаптер,...

Scroll Listview - Программирование Android
Подскажите как убрать скролл в компоненте Listview

Работа с Listview - Программирование Android
Доброго времени суток! Передо мной возникла такая проблема: Необходимо сделать так, чтобы при нажатии на разные элементы listview...

Свойство ListView - Программирование Android
Здравствуйте! Какое свойство отвечает в ListView за фон при прокрутке? Просто фон ListView у меня синий, а при прокрутке становится...

Обновление ListView - Программирование Android
Есть активити с ListView с записями из БД. Записи добавляются в onCreate() активити. Допустим, удалил я запись из БД через диалоги. ...

Работа с Listview - Программирование Android
Доброго времени суток! Передо мной возникла такая проблема: Необходимо сделать так, чтобы при нажатии на разные элементы listview...

Scroll listview - Программирование Android
Доброй ночи всем. Есть активити со следующим layout. &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...


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

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

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

Добавлено через 1 минуту
п.с.: вместо постоянного
Java
1
setListAdapter(new bsAdapter (getActivity()));
для обновления используется
Java
1
adapter.notifyDataSetChanged();
Yandex
Объявления
14.08.2013, 22:27     отображение Listview
Ответ Создать тему
Опции темы

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