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

События ListView - Android

Войти
Регистрация
Восстановить пароль
 
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
05.03.2014, 01:02     События ListView #1
Здравствуйте! Вот программа;
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
package com.example.freedom;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
 
public class Freedom extends Activity {
    
    private String jsonString = "{\"employee\":[" +
            "{\"emp_name\":\"Антон\"}," +
            "{\"emp_name\":\"Анна\"},]}";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_freedom);
        initList();
        ListView listView = (ListView) findViewById(R.id.listView1);
        SimpleAdapter simpleAdapter = new SimpleAdapter(this, employeeList, android.R.layout.simple_list_item_1, new String[] {"employees"}, new int[] {android.R.id.text1});
        listView.setAdapter(simpleAdapter);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.freedom, menu);
        return true;
    }
 
    List<Map<String,String>> employeeList = new ArrayList<Map<String,String>>();
    private void initList(){
        try{
               JSONObject jsonResponse = new JSONObject(jsonString);
               JSONArray jsonMainNode = jsonResponse.optJSONArray("employee");
               
              for(int i = 0; i<jsonMainNode.length();i++){
               JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
               String name = jsonChildNode.optString("emp_name");
               String outPut = name;
               employeeList.add(createEmployee("employees", outPut));
              }
             }
              catch(JSONException e){
               Toast.makeText(getApplicationContext(), "Error"+e.toString(), Toast.LENGTH_SHORT).show();
              }
             }
              
             private HashMap<String, String>createEmployee(String name,String number){
              HashMap<String, String> employeeNameNo = new HashMap<String, String>();
              employeeNameNo.put(name, number);
              return employeeNameNo;
        }
}
Она выводит два имя в ListVier. Как сделать, чтобы при нажатие на имя программа выводила информацию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 01:02     События ListView
Посмотрите здесь:

Android События
Android Listview
Android ListView
ListView Android
Android id ListView
Android из БД в ListView
Android Не отображается ListView
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
05.03.2014, 09:58     События ListView #2
http://vlad8.com/tech/android-sqlite-database/
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
05.03.2014, 10:04     События ListView #3
Цитата Сообщение от Freemanasus Посмотреть сообщение
Как сделать, чтобы при нажатие на имя программа выводила информацию?
Какую информацию ? О нажатом пункте списка ?
Добавьте в метод onCreate этот код:
Java
1
2
3
4
5
6
7
        listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                TextView tv = (TextView) view.findViewById(android.R.id.text1);
                Toast.makeText(getApplicationContext(), "Выбран пункт " + tv.getText(), Toast.LENGTH_SHORT).show();
            }
        });
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
05.03.2014, 10:09  [ТС]     События ListView #4
angryrobot, которую я пропишу в коде
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
05.03.2014, 10:46     События ListView #5
Цитата Сообщение от Freemanasus Посмотреть сообщение
которую я пропишу в коде
Суть вопроса крайне туманна, напишите пожалуйста подробнее что вы собираетесь прописать.
Freemanasus
2 / 2 / 1
Регистрация: 25.01.2014
Сообщений: 51
05.03.2014, 11:16  [ТС]     События ListView #6
angryrobot, есть список с именами. Я нажимаю на какое-нибудь имя и мне выводится информация которую я уже зарание ввел в коде программы, например дата рождения. И на каждом имени разная информация при нажатии.

Добавлено через 8 минут
И информация должна появляться как бы в другой форме.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2014, 11:41     События ListView
Еще ссылки по теме:

Android ListView с разделителями
Android ListView
Обработчик события ToggleButton Android
Android Listview в listview
Поиск по listview Android

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

Или воспользуйтесь поиском по форуму:
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
05.03.2014, 11:41     События ListView #7
Цитата Сообщение от Freemanasus Посмотреть сообщение
Я нажимаю на какое-нибудь имя и мне выводится информация которую я уже зарание ввел в коде программы, например дата рождения. И на каждом имени разная информация при нажатии.
Ну например вот так:

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
public class Freedom extends Activity {
    private final String NAME_KEY = "employees";
    private final String DATE_KEY = "birth";
    private String jsonString = "{\"employee\":[" +
            "{\"emp_name\":\"Антон\", \"date_of_birth\":\"10.10.1910\"}," +
            "{\"emp_name\":\"Анна\",\"date_of_birth\":\"01.01.2000\"}]}";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_freedom);
        initList();
        ListView listView = (ListView) findViewById(R.id.listView1);
        listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getApplicationContext(), "День рождения: " + employeeList.get(position).get(DATE_KEY), Toast.LENGTH_SHORT).show();
            }
        });
        SimpleAdapter simpleAdapter = new SimpleAdapter(this, employeeList, android.R.layout.simple_list_item_1, new String[] {NAME_KEY}, new int[] {android.R.id.text1});
        listView.setAdapter(simpleAdapter);
    }
 
 
    List<Map<String,String>> employeeList = new ArrayList<Map<String,String>>();
    private void initList(){
        try{
               JSONObject jsonResponse = new JSONObject(jsonString);
               JSONArray jsonMainNode = jsonResponse.optJSONArray("employee");
               
              for(int i = 0; i<jsonMainNode.length();i++){
               JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
               String name = jsonChildNode.optString("emp_name");
               String date = jsonChildNode.optString("date_of_birth");
               employeeList.add(createEmployee(name, date));
              }
             }
              catch(JSONException e){
               Toast.makeText(getApplicationContext(), "Error"+e.toString(), Toast.LENGTH_SHORT).show();
              }
             }
              
             private HashMap<String, String>createEmployee(String name, String date){
              HashMap<String, String> employeeNameNo = new HashMap<String, String>();
              employeeNameNo.put(NAME_KEY, name);
              employeeNameNo.put(DATE_KEY, date);
              return employeeNameNo;
        }
 
}
Yandex
Объявления
05.03.2014, 11:41     События ListView
Ответ Создать тему
Опции темы

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