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

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

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

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

10.03.2015, 15:46. Просмотров 938. Ответов 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 активити уже разбивать этот же массив и то, что нам нужно выводить в листвью
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2015, 15:46     Android studio передача массива в лист вью
Посмотрите здесь:

Android studio Android
Поиск по лист вью Android
Android Studio Android
Android studio Android
Android Studio Android
Таблица Android Studio Android
Android Studio и HTML Android
Android GitHub в Android Studio
Android приложение (Прайс-лист) Android
Android Studio GET-запрос Android
Android Android Studio
Android Studio Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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