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

Пустое место в ListView при заполнении из файла - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Android зависимые спайнеры http://www.cyberforum.ru/android-dev/thread1753566.html
Имеется два спайнера. В первом спайнере название регионов, во втором должен быть список городов, который должен изменяться в зависимости от выбранного региона.
Программирование Android Динамическая инициализация ImageView Привет, подскажите как реализовать инициализацию ImageView, когда их кол-во заранее не известно. На активности есть HorizontalScrollView, в нем Linear Layout и на этом слое расположены ImageView. Сколько их будет, я заранее не знаю. Может быть 5 а может 23. В каждую вставляю свою картинку (ссылки в массив подгружаются). Как это правильно реализовать ? Запулить 100 imageView а... http://www.cyberforum.ru/android-dev/thread1753516.html
Программирование Android Android 6.0 permission
Подскажите, пожалуйста, как лучше в андроид 6.0 добавить все необходимые разрешения, чтобы код был оптимальным? Есть вот такой перечень разрешений: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET"/> ...
Программирование Android Как работает 9-patch?
Написано : "Верхняя и левая часть рамки задают масштабируемые области, правая и нижняя – область отображения контента." Я не понимаю, как может верхняя левая часть объекта растягиваться, а правая нижняя, получается, нет? И если правая и нижняя задают область отображения контента, то, по идее, в левой верхней он отображаться не должен? И где тогда граница этих "левый верхний" "правый нижний"? Вот...
Программирование Android Изменить текст TextView другого Фрагмента, не открывая его http://www.cyberforum.ru/android-dev/thread1752770.html
Могу передать данные из Activiry во фрагмента когда он открыт. blank1 = new BlankFragment(); if (blank1 != null) { FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.conteiner, blank1).commit(); } ((TextView)...
Программирование Android Json android изображение Нужна помощь, нужно парсить фотки с открытой группы вконтакте, в переложение подробнее

Показать сообщение отдельно
GreeNicee
97 / 97 / 55
Регистрация: 04.10.2014
Сообщений: 250
Завершенные тесты: 2
03.06.2016, 16:15  [ТС]
(Не влезло))Открытие файла⇓
Кликните здесь для просмотра всего текста
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
    void displayFiles() {
        ArrayList<String> lst = new ArrayList<String>();
        final String folder = Environment.getExternalStorageDirectory().toString();
        String sdState = android.os.Environment.getExternalStorageState(); //Получаем состояние SD карты (подключена она или нет) - возвращается true и false соответственно
        if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) { // если true
            File f1 = new File(folder + "/SPPR"); //Создаем файловую переменную
            if (!f1.exists()) { //Если папка не существует
                f1.mkdirs();
            }  //создаем её
        }
 
        File f1 = new File(folder + "/SPPR");
        File[] filesArray = f1.listFiles();
        int k = 0;
 
        //for (File f: filesArray) {
        for (int i = 0; i < filesArray.length; i++) {
            lst.add(filesArray[i].getName().replace(".txt", ""));
           // Log.d("list", lst.get(i).toString());
        }
 
        String[] myArray = {}; // конвертируем ArrayList в массив
        myArray = lst.toArray(new String[lst.size()]);
 
        final String[] list = myArray;
 
        if (list.length > 0) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Выберите ситуацию"); // заголовок для диалога
            builder.setItems(list, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int item) {
                    Toast.makeText(getApplicationContext(), "Выбранна ситуация: " + list[item], Toast.LENGTH_SHORT).show();
                    EditText ed_name = (EditText) findViewById(R.id.ed_ir_name);
                    ListView lv_al = (ListView) findViewById(R.id.lv_alter);
                    ListView lv_var = (ListView) findViewById(R.id.lv_var);
 
                    File file = new File(folder + "/SPPR/" + list[item] + ".txt");
                    try {
                        file.createNewFile();
 
                        FileReader fRd = new FileReader(file);
                        BufferedReader reader = new BufferedReader(fRd);
                        String str;
                        StringBuffer buffer = new StringBuffer();
 
                        while ((str = reader.readLine()) != null) {
                            buffer.append(str + "\n");
                        }
                        fRd.close();
 
                        String[] arr = buffer.toString().split("_");
 
                        for (int i=0;i<arr.length;i++){
                            if ((arr[i].equals("_"))||(arr[i].equals(""))){
                                arr = ArrayUtils.removeElement(arr, arr[i]);
                            }
                        }
 
                        int k = 0;
 
                        for (int i = 0; i < arr.length; i++) {
                            if (arr[i].equals("next")) {
                                k = i;
                               // Log.d("ARR", arr[i]);
                              //  Log.d("k", String.valueOf(k));
                                break;
                            }
                        }
 
                        int k1 = 0;
                        for (int i = k+1; i < arr.length; i++) {
                            if (arr[i].equals("lvl")) {
                                k1 = i;
                                break;
                            }
                        }
 
                        String[] st_ar_var = new String[k1-(k+1)];
                        String[] st_ar_al = new String[k];
                       // Log.d("lng", String.valueOf((arr.length - k)));
                        ar_al.clear();
                        ar_var.clear();
 
                        System.arraycopy(arr, k + 1, st_ar_var, 0, st_ar_var.length);
                        System.arraycopy(arr, 0, st_ar_al, 0, k);
 
                        for (int i = 0; i < st_ar_al.length; i++) {
                            ar_al.add(i, st_ar_al[i]);
                           // Log.d("ar_al", ar_al.get(i));
                           // Log.d("st_ar_al", st_ar_al[i]);
                        }
 
                        ImageButton ibut = (ImageButton) findViewById(R.id.but_var);
                        EditText et = (EditText) findViewById(R.id.ed_var);
                        //TextView tv = (TextView) findViewById(R.id.tv_null);
                        for (int i = 0; i < st_ar_var.length; i++) {
                            et.setText(st_ar_var[i]);
                            ibut.performClick();
                        }
 
                        setListViewHeightBasedOnChildren(lv_al);
                        setListViewHeightBasedOnChildren(lv_var);
 
                        ed_name.setText(list[item]);
 
                        int i = k1;
                        int ki = 0;
                        int itv = 0;
                        int iib = 0;
                        int iet = 0;
                        boolean boo = false;
 
                        LinearLayout laylevel,laycontainer;
                        TextView tv;
                        ListView lv;
 
                        laylevel = (LinearLayout) findViewById(arrId[ki]);
                        laycontainer = (LinearLayout) findViewById(arrId[ki]);
                        tv = (TextView) findViewById(R.id.tv_null);
                        lv = (ListView) findViewById(R.id.lv_var);
                        RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl_null);
 
                        do {
                            if (arr[i].equals("lvl")){
                                ki++;
                                laylevel = (LinearLayout) findViewById(arrId[ki]);
                                i += 1;
                            }else
                            if (arr[i].equals("next")){
                                boo = false;
                                for (int j=0;j<laylevel.getChildCount();j++){
                                    if (boo)
                                        break;
                                    if (laylevel.getChildAt(j) instanceof LinearLayout){
                                        laycontainer = (LinearLayout) laylevel.getChildAt(j);
                                        for (int ii=0;ii<laycontainer.getChildCount();ii++){
                                            if (laycontainer.getChildAt(ii) instanceof TextView)
                                                itv = ii;
                                            else
                                            if (laycontainer.getChildAt(ii) instanceof ListView)
                                                lv = (ListView) laycontainer.getChildAt(ii);
                                            if (laycontainer.getChildAt(ii) instanceof RelativeLayout){
                                                rl = (RelativeLayout) laycontainer.getChildAt(ii);
                                                for (int o=0;o<rl.getChildCount();o++){
                                                    if (rl.getChildAt(o) instanceof ImageButton)
                                                        iib = o;
                                                    else
                                                    if (rl.getChildAt(o) instanceof EditText)
                                                        iet = o;
                                                }
                                            }
                                            if (ii+1 == laycontainer.getChildCount()) {
                                                tv = (TextView) laycontainer.getChildAt(itv);
                                                ibut = (ImageButton) rl.getChildAt(iib);
                                                et = (EditText) rl.getChildAt(iet);
 
                                                String str_tv = tv.getText().toString();
                                                str_tv = str_tv.substring(str_tv.lastIndexOf("_") + 1);
                                                if (str_tv.equals(arr[i+1])){
                                                    boo = true;
                                                    i += 2;
                                                    break;
                                                }
                                            }
 
                                        }
                                    }
                                }
                            }
                            else{
                                et.setText(arr[i]);
                                ibut.performClick();
 
                                i++;
                            }
                        }while (i<arr.length-1);//В конце пробел почему-то
                    } catch (IOException e) {
                        Toast.makeText(getApplicationContext(), "Exception: " + e.toString(), Toast.LENGTH_LONG).show();
                    }
                }
            });
            builder.setCancelable(false);
            builder.show();
        } else {
            Toast.makeText(getApplicationContext(), "Вы еще не создавали шаблоны ситуаций", Toast.LENGTH_SHORT).show();
        }
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru