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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 4.96
Ataman
1 / 1 / 1
Регистрация: 27.10.2011
Сообщений: 33
#1

Переключение между activity (простой пример) - Программирование Android

27.08.2012, 15:12. Просмотров 6619. Ответов 5
Метки нет (Все метки)

Здравствуйте, подскажите пожалуйста в чем ошибка в этом простом примере, никак не могу разобраться.
С главного активити запускаю активити2 возращаюсь обратно и вывожу благополучно результат, а вот при попытке запустить с главного активити -> активити3 то выдает ошибку : "The app has stopped unexpectedly. Try again.". В Manifest я добавил эти два активити.


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
public class MainActivity extends Activity implements OnClickListener {
  
  TextView tvName;
  Button btnName, btnActivity3;
  Intent intent3;
  private static final String TAG = "myLogs";
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Log.d(TAG, "MainActivity onCreate"); 
        
        tvName = (TextView) findViewById(R.id.tvName);
        btnName = (Button) findViewById(R.id.btnName);
        btnActivity3 = (Button) findViewById(R.id.btnActivity3);
        btnName.setOnClickListener(this);
        btnActivity3.setOnClickListener(this);
        
        intent3 = new Intent(this, Activity3.class);
    }
 
  @Override
  public void onClick(View v) {
      Log.d(TAG, "MainActivity onClick"); 
      switch(v.getId()) {
          //С ЭТОГО КЕЙСА НЕ ЗАПУСКАЕТСЯ АКТИВИТИ-3
      case R.id.btnActivity3:
          Log.d(TAG, "MainActivity onClick - start activity 3");
          startActivity(intent3);
          break;
          
      case R.id.btnName:
          Intent intent2=new Intent(this, Activity2.class);
          Log.d(TAG, "MainActivity onClick - start activity 2");
          startActivityForResult(intent2, 1);
          break;
      }
  }
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (data == null) {return;}
    String name = data.getStringExtra("name");
    tvName.setText("Your name is " + name);
    boolean btnTest1=data.getExtras().getBoolean("btnTest1");
    
    intent3.putExtra("btnTest1", btnTest1);
    intent3.putExtra("name", name);
    
    Log.d(TAG, "MainActivity: onActivityResult - finish");
  }
}
 
 
 
//Activity2 file:
public class Activity2 extends Activity implements OnClickListener {
      EditText etName;
      Button btnOK, btnTest1, btnTest2;
      Intent intent;
      private Button btnMainActivity;
    
      private static final String TAG = "myLogs";
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity2);
        
        Log.d(TAG, "Activity 2 onCreate"); 
        
        etName = (EditText) findViewById(R.id.etName);
        btnOK = (Button) findViewById(R.id.btnOK);
        btnTest1 = (Button) findViewById(R.id.btnTest1);
        btnTest2 = (Button) findViewById(R.id.btnTest2);
        btnMainActivity= (Button) findViewById(R.id.btnMainActivity);
        btnOK.setOnClickListener(this);
        btnTest1.setOnClickListener(this);
        btnTest2.setOnClickListener(this);
        btnMainActivity.setOnClickListener(this);
        
        intent = new Intent();
        
        Log.d(TAG, "Activity 2 onCreate finish"); 
      }
 
      @Override
      public void onClick(View v) {
         Log.d(TAG, "Activity 2 onClick"); 
          
        switch(v.getId()) {
        case R.id.btnTest1:
            intent.putExtra("btnTest1", true);
            break;
            
        case R.id.btnTest2:
            intent.putExtra("btnTest2", true);
            break;
            
        case R.id.btnMainActivity:
            Log.d(TAG, "Activity 2 onClick - back to Main Activity"); 
            intent.putExtra("name", etName.getText().toString());
            setResult(RESULT_OK, intent);
            finish();
            break;  
        }
      }
}
 
 
 
 
//Activity3:
public class Activity3 extends Activity implements OnClickListener {
      TextView txtView;
      Button btnBack;
      /*Intent intent;*/
      private static final String TAG = "myLogs";
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity3);
        
        Log.d(TAG, "Activity 3 onCreacte"); 
        
        txtView = (EditText) findViewById(R.id.textView1);
        btnBack = (Button) findViewById(R.id.btnBack);
        btnBack.setOnClickListener(this);
        
        String boolinfo="false";
        if(getIntent().getExtras().getBoolean("btnTest1")) boolinfo="true";
        txtView.setText(getIntent().getExtras().getString("name") + boolinfo);
        
        Log.d(TAG, "Activity 3 onCreacte finish"); 
      }
 
      @Override
      public void onClick(View v) {
        Log.d(TAG, "Activity 3 onClick back to Main Activity"); 
        finish();       
      }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2012, 15:12     Переключение между activity (простой пример)
Посмотрите здесь:

Переключение между Activity - Программирование Android
Здравствуйте, в Android Studio есть шаблон Tabbed Activity, в котором страницы перелистываются свайпами. Так вот, можно ли к каждой...

Переключение между Activity - Программирование Android
У меня на главном экране в приложении расположено несколько кнопок. На нажатие каждой из них открывается активность ListView. Проблема в...

Переключение между Activity путём нажатия кнопки - Программирование Android
работаю в eclips. создал два файла, в папку res\layout\activity_second.xml и activity_second2.xml потом классы посредством кторых будет...

Переключение на другую форму - пример - Программирование Android
Ребят, ткните носом на простой самый пример перехода с одной формы на другую с примером который можно скачать и поковыряться в нем.

Связь между Activity - Программирование Android
День добрый Не могу понять как организовать связь между различными Activity, точнее не связь, я передачу данных в обоих направлениях. ...

Передача данных между activity - Программирование Android
Здравствуйте! Для передачи данных между Activity требуется Пользователь вводит данные в строку(текст)-где этот param...

Переход перелистыванием между Activity - Программирование Android
Изучением программирования под андроид занялся совсем недавно, и для начала решил написать простое приложение: 2 странички переход между...

Переход между fragment и activity - Программирование Android
Доброй ночи) возникла необходимость обратного перехода от активити во фрагмент, при этом ничего обратно передать не надо. То есть...

Обмен данными между Activity - Программирование Android
Между Activity делал обмен через Intent, но передает пустой строку. второй активити package com.androidexample.httpgetexample; ...

Передача значений между Activity - Программирование Android
Есть 2 Activity, Main и Two. В Main - TextView. в Two - Button и Edittext (Decimal) Как мне передать с Two в Main значение указное в...

Передача данных между Activity - Программирование Android
Доброго времени суток, господа. Такой вопрос: с точки зрения ООП програмирования и программирования в целом, каким образом практичнее...

Передача данных между тремя Activity - Программирование Android
Доброго времени суток! у меня тут проблемка, связанная с Intent'ами, помогите разобраться. Есть 3 активности: MainActivity, SearchActivity...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
56illusion
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 37
27.08.2012, 18:06     Переключение между activity (простой пример) #2
сань посмотри мою тему..у тебя пример огромный сложно понять что к чему там...почитай опять startandroid.ru
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
27.08.2012, 18:18     Переключение между activity (простой пример) #3
Цитата Сообщение от Ataman Посмотреть сообщение
TextView txtView;
Цитата Сообщение от Ataman Посмотреть сообщение
txtView = (EditText) findViewById(R.id.textView1);
я не проверял но есть мысль что здесь ошибка
попробуйте вместо (EditText) написать (TextView)
56illusion
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 37
27.08.2012, 18:32     Переключение между activity (простой пример) #4
YAUHEN у меня тоже возникла проблема с переключением activity..посмотри пожалуйста мою тему.
Ataman
1 / 1 / 1
Регистрация: 27.10.2011
Сообщений: 33
27.08.2012, 21:38  [ТС]     Переключение между activity (простой пример) #5
YAUHEN - Огромное спасибо ..
все из за какого то кастинга, никогда не подумал бы.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.08.2012, 22:36     Переключение между activity (простой пример) #6
логи смотреть надо....
Yandex
Объявления
27.08.2012, 22:36     Переключение между activity (простой пример)
Ответ Создать тему
Опции темы

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