Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
#1

Вызвать из ListView новое Activity (где задействован SimpleAdapter)

07.03.2013, 16:06. Просмотров 1960. Ответов 4
Метки нет (Все метки)

Привет Всем!
Я купил себе android... и вдруг возникли мысли ...почему бы не сделать приложения.... и не изучить вообщем язык программирования (JAVA) ...поэтому я новичок...занимаюсь около 2 месяцев.... и вот у меня вопрос(по программированию) на который нигде не могу найти ответ...
вообщем, если поможете, буду благодарен...

мне необходимо из ListView по нажатию вызвать новое Activity ...при этом если задействован в коде SimpleAdapter (его я поставил для того чтобы в ListView к каждому списку была присвоена картинка...) и при запуске мне показывает при нажатии ошибку... сможете помочь...? исправить может где нибудь...
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
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
 
 
public class MainActivity extends Activity {
 
  // имена атрибутов для Map
  final String ATTRIBUTE_NAME_TEXT = "text";
  final String ATTRIBUTE_NAME_IMAGE = "image";
 
  ListView lvSimple;
  
 private String[] text; // ВОТ «text» постоянно подчеркивает в желтый
 
 
  /** Called when the activity is first created. */
 
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    ListView ship = (ListView) findViewById(R.id.lvSimple);
    Animation shipAnim = AnimationUtils.loadAnimation(this,
            R.anim.ship_anim1);
    ship.startAnimation(shipAnim);
 
    // массивы данных
    String[] texts = { "Саша" };
    int  img = R.drawable.a;
 
    
  
    
    
    String[] texts1 = {  "Ваня" };
    int  img1 = R.drawable.b;
 
   
    String[] texts2 = {  "Петя" };
    int  img2 = R.drawable.v;
    
    
    String[] texts3 = {  "Рома" };
    int  img3 = R.drawable.g;
    
    
    // упаковываем данные в понятную для адаптера структуру
    ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
        texts.length);
    Map<String, Object> m;
    for (int i = 0; i < texts.length; i++) {
      m = new HashMap<String, Object>();
      m.put(ATTRIBUTE_NAME_TEXT, texts [i]);
      m.put(ATTRIBUTE_NAME_IMAGE, img);
      data.add(m);
    }
 
    for (int i = 0; i < texts1.length; i++) {
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, texts1 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img1);
        data.add(m);
      }
    
    
    for (int i = 0; i < texts2.length; i++) {
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, texts2 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img2);
        data.add(m);
      }
    
    
    for (int i = 0; i < texts3.length; i++) {
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, texts3 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img3);
        data.add(m);
      }
    
   
    // массив имен атрибутов, из которых будут читаться данные
    String[] from = { ATTRIBUTE_NAME_TEXT, 
        ATTRIBUTE_NAME_IMAGE };
    // массив ID View-компонентов, в которые будут вставлять данные
    int[] to = { R.id.tvText, R.id.ivImg };
    
    
   
    // создаем адаптер
 final   SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.item,
           from, to);
 
    // определяем список и присваиваем ему адаптер
    lvSimple = (ListView) findViewById(R.id.lvSimple);
    lvSimple.setAdapter(sAdapter);
  
 
  
    
 
  
    
                             
                                
    lvSimple.setOnItemClickListener(new OnItemClickListener() {
 
        public void onItemClick(AdapterView<?> parent, View view,
 
            int position, long id) {
 
            String man = (String) sAdapter.getItem(position);
 
            if (man.equalsIgnoreCase("Саша")) {
 
   
 
             Intent myIntent = new Intent(getApplicationContext(), ActivityTwo.class);
 
            
 
                                startActivity(myIntent);      
 
           
            }
 
        }
 
      });
 
   
 
    }

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2013, 16:06
Ответы с готовыми решениями:

Переход на новое activity с элемента listView, заполненного через SimpleCursorAdapter
Здравствуйте! Помогите разобраться с такой проблемой: Есть список listView,...

При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями...

Неправильное отображение Listview создаваемого с SimpleAdapter
Никак не получается сделать отображение таким как на картинке ...

Получить item из listView по индексу. Адаптер - simpleadapter
Задача - убрать из listview некоторый итем. Думаю, можно сделать его...

Вызвать из одной activity функцию другой activity
вызвать из одного activity функцию другой activity Подскажите, можно ли такое...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.03.2013, 16:13 #2
логи смотреть в LogCat

наверное должно быть как-то так

Java
1
2
Map<String, Object> map = (Map<String, Object>)sAdapter.getItem(position);
String man = (String)map.get(ATTRIBUTE_NAME_TEXT);
0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
07.03.2013, 16:23  [ТС] #3
вместо чего ввести то что вы написали?

и вот что LogCat говорит

Кликните здесь для просмотра всего текста
03-07 14:23:02.775: E/AndroidRuntime(17093): FATAL EXCEPTION: main
03-07 14:23:02.775: E/AndroidRuntime(17093): android.content.ActivityNotFoundException: Unable to find explicit activity class {ru.startandroid.develop.p0481simpleadapter/ru.startandroid.develop.p0481simpleadapter.ActivityTwo}; have you declared this activity in your AndroidManifest.xml?
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1420)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Activity.startActivityForResult(Activity.java:3446)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Activity.startActivityForResult(Activity.java:3407)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Activity.startActivity(Activity.java:3617)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.Activity.startActivity(Activity.java:3585)
03-07 14:23:02.775: E/AndroidRuntime(17093): at ru.startandroid.develop.p0481simpleadapter.MainActivity$1.onItemClick(MainActivity.java:139)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.widget.AdapterView.performItemClick(AdapterView.java:301)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.widget.AbsListView.performItemClick(AbsListView.java:1276)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3067)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.widget.AbsListView$1.run(AbsListView.java:3963)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.os.Handler.handleCallback(Handler.java:615)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.os.Handler.dispatchMessage(Handler.java:92)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.os.Looper.loop(Looper.java:137)
03-07 14:23:02.775: E/AndroidRuntime(17093): at android.app.ActivityThread.main(ActivityThread.java:4898)
03-07 14:23:02.775: E/AndroidRuntime(17093): at java.lang.reflect.Method.invokeNative(Native Method)
03-07 14:23:02.775: E/AndroidRuntime(17093): at java.lang.reflect.Method.invoke(Method.java:511)
03-07 14:23:02.775: E/AndroidRuntime(17093): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
03-07 14:23:02.775: E/AndroidRuntime(17093): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
03-07 14:23:02.775: E/AndroidRuntime(17093): at dalvik.system.NativeStart.main(Native Method)
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.03.2013, 16:36 #4
Цитата Сообщение от Shlika Посмотреть сообщение
have you declared this activity in your AndroidManifest.xml?
ну?
1
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
07.03.2013, 16:41  [ТС] #5
Ура... Я все это время думал что прописал в манифесте...а оказывается ...нет и LogCat начинаю уметь пользоваться....спасибо Вам большое!
0
07.03.2013, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2013, 16:41

Как вызвать Activity не из Activity?
Приложение перехватываем входящие СМС. Есть класс унаследованный от...

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...

Новое Activity или ViewGroup
Здравствуйте. НЕ подскажите, как нужно правильно реализовать вот такой UI:...


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

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

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