Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
kriminal
0 / 0 / 0
Регистрация: 17.02.2015
Сообщений: 3
#1

Android studio передача массива в лист вью

10.03.2015, 15:46. Просмотров 1344. Ответов 0
Метки нет (Все метки)

у меня не получается вывести в лист вью массив, в чем проблема
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
public class MainActivity extends Activity {
 
первая активность
 
    private ProgressDialog dialog;
    private InputStream is;
    MainActivity2 url;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                //тут указываем куда будем конектится
                new RequestTask().execute("----------------------------");
            }
        });
    }
 
    class RequestTask extends AsyncTask<String, String, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
            try {
                //создаем запрос на сервер
                DefaultHttpClient hc = new DefaultHttpClient();
                ResponseHandler<String> res = new BasicResponseHandler();
                //он у нас будет посылать post запрос
                HttpPost postMethod = new HttpPost(params[0]);
                //будем передавать два параметра
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                //передаем параметры из наших текстбоксов
                
                nameValuePairs.add(new BasicNameValuePair("-----------", "-------------"));
                
                nameValuePairs.add(new BasicNameValuePair("------", "--------"));
 
                //собераем их вместе и посылаем на сервер
                postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                //получаем ответ от сервера
                String response = hc.execute(postMethod, res);
                //посылаем на вторую активность полученные параметры
                Intent intent = new Intent(MainActivity.this, MainActivity2.class);
                //то что куда мы будем передавать и что, putExtra(куда, что);
                intent.putExtra(MainActivity2.JsonURL, response.toString());
                startActivity(intent);
 
                String _Arrblab[] = response.toString().split("-------");
                ArrayList<String> titles=new ArrayList<String>();
 
                for (int i=0 ; i<_Arrblab.length-1; i++)
                {
                    String temArr[] = _Arrblab[i].split("--------");
                    titles.add(temArr[0]);
 
                }
 
                for (int i=0; i<_Arrblab.length-1;i++)
                {
                    System.out.print("Название titles:  "+ titles.get(i) + "\n");
                    String _Titles =titles.get(i);
                }
            } catch (Exception e) {
                System.out.println("Exp=" + e);
 
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
            dialog.dismiss();
            super.onPostExecute(result);
        }
 
        @Override
        protected void onPreExecute() {
 
            dialog = new ProgressDialog(MainActivity.this);
            dialog.setMessage("Загружаюсь...");
            dialog.setIndeterminate(true);
            dialog.setCancelable(true);
            dialog.show();
            super.onPreExecute();
 
активность обработки и вывода 
 
    public static String JsonURL;
    private static ArrayList<HashMap<String, Object>> myBooks;
 
    private static final String FIRST = "_Titles";
    public ListView list;
 
    public void JSONURL(String result) {
 
 
        try {
            //создали читателя json объектов и отдали ему строку - result
            JSONObject json = new JSONObject(result);
            //дальше находим вход в наш json им является ключевое слово data
            JSONArray urls = json.getJSONArray("_Titles");
 
            //проходим циклом по всем нашим параметрам
            for (int i = 0; i < urls.length(); i++) {
                HashMap<String, Object> hm;
                hm = new HashMap<>();
                //читаем что в себе хранит параметр firstname
                hm.put(FIRST, urls.getJSONObject(i).getString("_Titles"));
 
 
                myBooks.add(hm);
               
                SimpleAdapter adapter = new SimpleAdapter(this,
                        myBooks,
                        R.layout.main_activity2, new String[]{ // массив названий
                        FIRST,         //верхний текст
                                //нижний теккт
                }, new int[]{    //массив форм
                             //наш id TextBox'a в list.xml
                        R.id.text2});    //ссылка на объект отображающий текст
 
                list.setAdapter(adapter);                         //говорим программе что бы отображала все объекты
                list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);  //Даем возможность выбора если есть желание сделать переход на другие формы
            }
 
 
        } catch (JSONException e) {
 
        }
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vivod);
        list = (ListView) findViewById(R.id.list);
        myBooks = new ArrayList<>();
        //принимаем параметр который мы послылали в manActivity
        Bundle extras = getIntent().getExtras();
        //превращаем в тип стринг для парсинга
        String json = extras.getString(JsonURL);
        //передаем в метод парсинга
        JSONURL(json);
    }
Добавлено через 16 часов 21 минуту
разобрался сам, в первой активити нужно было посылать пост запрос и принять массив с данными, а во 2 активити уже разбивать этот же массив и то, что нам нужно выводить в листвью
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2015, 15:46
Ответы с готовыми решениями:

Поиск по лист вью
Помогите, кому не сложно, с приложением...не отображается лист вью, и...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал...

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/... скачал exeшник для...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне...

Ошибка в Android Studio Error:No resource identifier found for attribute 'appComponentFactory' in package 'android'
Доброго времени суток! При компиляции андроид приложении выходит данная...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 15:46

Android.support.v4.app.FragmentActivity не работает в Android Studio
объясните пожалуйста,как в андроид студио добавить вышеуказанную...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете?
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android)
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать...


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

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

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