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

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

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

Переход на новую activity - Android

03.05.2013, 15:09. Просмотров 1059. Ответов 6
Метки нет (Все метки)

возникла проблема как определить какая кнопка была нажата на другой форме, исходя из этого будут отображаться данные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.05.2013, 15:15     Переход на новую activity #2
Java
1
2
3
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("button", id);
startActivity(i);
Java
1
int buttonId = getIntent().getIntExtra("button",0);
medas
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 23
03.05.2013, 17:03  [ТС]     Переход на новую activity #3
главная
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
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        
        Button button1 = (Button)findViewById(R.id.button1);
        Button button2 = (Button)findViewById(R.id.button2);
        Button button3 = (Button)findViewById(R.id.button3);
        Button button4 = (Button)findViewById(R.id.button4);
        Button button5 = (Button)findViewById(R.id.button5);
        
        button1.setOnClickListener((OnClickListener) this);
        button2.setOnClickListener((OnClickListener) this);
        button3.setOnClickListener((OnClickListener) this);
        button4.setOnClickListener((OnClickListener) this);
        button5.setOnClickListener((OnClickListener) this);
        
    }
 
    public void onClick(View v){
        Intent intent;
        String id = null;
        switch (v.getId()) {
        case R.id.button1:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button2:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button3:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button4:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button5:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
 
        default:
            break;
        }
    }
 
}
второй класс
Java
1
2
3
4
5
6
7
8
9
public class OpenSchedule extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.open_schedule);
        int buttonId = getIntent().getIntExtra("button",0);
        TextView textView1 = (TextView)findViewById(R.id.textView1);
        textView1.setText(" "+buttonId);
      }
}
сделал так но вылетает.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
03.05.2013, 17:05     Переход на новую activity #4
Переменной присвоить что-то надо
Java
1
String id = null;
medas
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 23
03.05.2013, 18:22  [ТС]     Переход на новую activity #5
переделал вот так
первый
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public void onClick(View v){
        Intent intent;
        String id = "1";
        switch (v.getId()) {
        case R.id.button1:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button2:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id+"1");
            startActivity(intent);
            break;
второй
Java
1
2
3
4
Intent intent = getIntent();
        String button1 = intent.getStringExtra("button");
        TextView textView1 = (TextView)findViewById(R.id.textView1);
        textView1.setText(" "+button1);
ну и ошибки
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
05-03 14:18:13.372: D/AndroidRuntime(962): Shutting down VM
05-03 14:18:13.372: W/dalvikvm(962): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-03 14:18:13.402: E/AndroidRuntime(962): FATAL EXCEPTION: main
05-03 14:18:13.402: E/AndroidRuntime(962): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.androidapp/com.example.androidapp.MainActivity}: java.lang.ClassCastException: com.example.androidapp.MainActivity
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.os.Looper.loop(Looper.java:123)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread.main(ActivityThread.java:3683)
05-03 14:18:13.402: E/AndroidRuntime(962):  at java.lang.reflect.Method.invokeNative(Native Method)
05-03 14:18:13.402: E/AndroidRuntime(962):  at java.lang.reflect.Method.invoke(Method.java:507)
05-03 14:18:13.402: E/AndroidRuntime(962):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-03 14:18:13.402: E/AndroidRuntime(962):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-03 14:18:13.402: E/AndroidRuntime(962):  at dalvik.system.NativeStart.main(Native Method)
05-03 14:18:13.402: E/AndroidRuntime(962): Caused by: java.lang.ClassCastException: com.example.androidapp.MainActivity
05-03 14:18:13.402: E/AndroidRuntime(962):  at com.example.androidapp.MainActivity.onCreate(MainActivity.java:23)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-03 14:18:13.402: E/AndroidRuntime(962):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-03 14:18:13.402: E/AndroidRuntime(962):  ... 11 more
05-03 14:18:15.293: I/Process(962): Sending signal. PID: 962 SIG: 9
В общем приложение сразу вылетает
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
03.05.2013, 18:36     Переход на новую activity #6
(MainActivity.java:23)

что в этой строчке находится? Там ошибка преобразования классов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2013, 18:55     Переход на новую activity
Еще ссылки по теме:

Android Переход с элемента listView на activity
Переход к Activity по выбранному пункту из спиннера Android
Android Переход на другой Activity
Переход из Fragment в Activity Android
Android Вывод activity в activity

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

Или воспользуйтесь поиском по форуму:
medas
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 23
03.05.2013, 18:55  [ТС]     Переход на новую activity #7
Java
1
2
3
4
5
[23]button1.setOnClickListener((OnClickListener) this);
        [24]button2.setOnClickListener((OnClickListener) this);
        [25]button3.setOnClickListener((OnClickListener) this);
        [26]button4.setOnClickListener((OnClickListener) this);
        [27]button5.setOnClickListener((OnClickListener) this)
Добавлено через 16 минут
нашел ошибку надо было добавить implements OnClickListener
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
public class MainActivity extends Activity implements OnClickListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        
        Button button1 = (Button)findViewById(R.id.button1);
        Button button2 = (Button)findViewById(R.id.button2);
        Button button3 = (Button)findViewById(R.id.button3);
        Button button4 = (Button)findViewById(R.id.button4);
        Button button5 = (Button)findViewById(R.id.button5);
        
        button1.setOnClickListener((OnClickListener) this);
        button2.setOnClickListener((OnClickListener) this);
        button3.setOnClickListener((OnClickListener) this);
        button4.setOnClickListener((OnClickListener) this);
        button5.setOnClickListener((OnClickListener) this);
        
    }
 
    public void onClick(View v){
        Intent intent;
        String id = "1";
        switch (v.getId()) {
        case R.id.button1:
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button2:
            id = "2";
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button3:
            id = "3";
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button4:
            id = "4";
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
        case R.id.button5:
            id = "5";
            intent = new Intent(this, OpenSchedule.class);
            intent.putExtra("button", id);
            startActivity(intent);
            break;
 
        default:
            break;
        }
    }
 
}
спасибо!
Yandex
Объявления
03.05.2013, 18:55     Переход на новую activity
Ответ Создать тему
Опции темы

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