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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
07.03.2013, 16:06     Вызвать из ListView новое Activity (где задействован SimpleAdapter) #1
Привет Всем!
Я купил себе 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);      
 
           
            }
 
        }
 
      });
 
   
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2013, 16:06     Вызвать из ListView новое Activity (где задействован SimpleAdapter)
Посмотрите здесь:

Как вызвать другой activity в android ? Android
Неправильное отображение Listview создаваемого с SimpleAdapter Android
Android Новое Activity или ViewGroup
Android Из ListView на новую Activity
Android Как динамически заполнять ListView из другой activity?
Android Не открывается новое окно у которого класс наследуется не от Activity
Переход на новое activity с элемента listView, заполненного через SimpleCursorAdapter Android
Android При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Ошибка при переходе на новое Activity Android
Android Переход с элемента listView на activity
Android Вытащить информацию из SQLite на новое Activity
Android Восстановление позиции ListView по возвращении из другого Activity

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.03.2013, 16:13     Вызвать из ListView новое Activity (где задействован SimpleAdapter) #2
логи смотреть в LogCat

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

Java
1
2
Map<String, Object> map = (Map<String, Object>)sAdapter.getItem(position);
String man = (String)map.get(ATTRIBUTE_NAME_TEXT);
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
07.03.2013, 16:23  [ТС]     Вызвать из ListView новое Activity (где задействован SimpleAdapter) #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)
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.03.2013, 16:36     Вызвать из ListView новое Activity (где задействован SimpleAdapter) #4
Цитата Сообщение от Shlika Посмотреть сообщение
have you declared this activity in your AndroidManifest.xml?
ну?
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
07.03.2013, 16:41  [ТС]     Вызвать из ListView новое Activity (где задействован SimpleAdapter) #5
Ура... Я все это время думал что прописал в манифесте...а оказывается ...нет и LogCat начинаю уметь пользоваться....спасибо Вам большое!
Yandex
Объявления
07.03.2013, 16:41     Вызвать из ListView новое Activity (где задействован SimpleAdapter)
Ответ Создать тему
Опции темы

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