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

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

Войти
Регистрация
Восстановить пароль
 
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
#1

Почему не создается 2 активити - Программирование Android

23.02.2016, 14:05. Просмотров 278. Ответов 10
Метки нет (Все метки)

Добрый день,

не могу понять в чем ошибка, не запускается 2 активити:
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
public class MainActivity extends AppCompatActivity {
    Button bt_3 ;
    Button bt_4;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        ;
        bt_3 = (Button) findViewById(R.id.bt3);
        bt_4 = (Button) findViewById(R.id.bt4);
        View.OnClickListener myClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if    (v.getId()==R.id.bt3) {
                   
                    Intent intent = new Intent(MainActivity.this, Main3Activity.class);
                    startActivity(intent);
                }
                if    (v.getId()==R.id.bt4) {
                   
                    Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                    startActivity(intent);
                }
            }
 
        };
}}
и еще ругается на строчку Start.setOnClickListener(myClickListener );- пишет нулпоинтерэксепшн, хоть я прописал все, а это кнопка во второй активити и если ее закоментить то все равно не создается
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2016, 14:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему не создается 2 активити (Программирование Android):

Не создается автоматическая активити - Программирование Android
Всем привет! Пытаюсь добавить в свое приложение кнопки соц.сетей - которые "расскажи о нас друзьям". За основу взял вполне рабочий...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса? - Программирование Android
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в отдельном классе "сокетсервер"(+в отдельном потоке)...

Изменение параметров активити из другого активити - Программирование Android
Как сделать так чтобы из первого активити поменять final ImageView img=(ImageView)findViewById(R.id.image1); ...

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

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

10
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
23.02.2016, 14:11 #2
ну и где строчка в которой слушатель назначается на кнопку?
0
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
23.02.2016, 15:23  [ТС] #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
public class MainActivity extends AppCompatActivity {
    Button bt_3 ;
    Button bt_4;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        ;
        bt_3 = (Button) findViewById(R.id.bt3);
        bt_4 = (Button) findViewById(R.id.bt4);
        View.OnClickListener myClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
 
                if    (v.getId()==R.id.bt3) {
 
                    Intent intent = new Intent(MainActivity.this, Main3Activity.class);
                    startActivity(intent);
                }
 
 
                if    (v.getId()==R.id.bt4) {
 
                    Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                    startActivity(intent);
                }
            }
 
        };
 
            bt_3.setOnClickListener(myClickListener);
            bt_4.setOnClickListener(myClickListener);
}}
я вставлял тост для проверки перед созданием интента, тост выводился а активити- нет

вот манифест
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.puzzle" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Main2Activity" >
        </activity>
        <activity android:name=".Main3Activity" >
        </activity>
    </application>
 
</manifest>
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
23.02.2016, 15:45 #4
при нажатии на кнопку вообще ничего не происходит или вылетает с ошибкой?
если вылетает - показывай лог

в разметке MainActivity кнопкам прописаны id ?
0
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
23.02.2016, 16:13  [ТС] #5
при нажатии не вылетает- главная активити с кнопками остается, на секунду дергается как попытка показать 2 активити и больше ничего не происходит

вот тут видно где обрывается:
02-23 15:10:22.854 20417-20417/? D/jdwp: adbStateShutdown
02-23 15:10:24.078 20488-20488/? D/jdwp: adbStateShutdown
02-23 15:10:26.390 20499-20499/com.example.puzzle D/States: Main2Activity: onStart()
02-23 15:10:26.390 20499-20499/com.example.puzzle D/States: Main2Activity: onResume()
02-23 15:10:38.073 917-981/? D/Finsky: [111] AppStatesReplicator.handleContentSyncResponse: Completed 0 account content syncs with 0 successful.


вот эрроры:
02-23 15:12:00.023 240-489/? E/AppWidgetService: id = com.android.server.AppWidgetService$AppWidgetId@41aac428id.host = com.android.launcher
02-23 15:12:00.023 240-489/? E/AppWidgetService: id.provider = com.signaltech.clock
02-23 15:12:00.032 240-381/? E/AppWidgetService: id = com.android.server.AppWidgetService$AppWidgetId@41aac428id.host = com.android.launcher
02-23 15:12:00.033 240-381/? E/AppWidgetService: id.provider = com.signaltech.clock
02-23 15:13:00.035 240-463/? E/AppWidgetService: id = com.android.server.AppWidgetService$AppWidgetId@41aac428id.host = com.android.launcher
02-23 15:13:00.035 240-463/? E/AppWidgetService: id.provider = com.signaltech.clock
02-23 15:13:00.039 240-488/? E/AppWidgetService: id = com.android.server.AppWidgetService$AppWidgetId@41aac428id.host = com.android.launcher
02-23 15:13:00.039 240-488/? E/AppWidgetService: id.provider = com.signaltech.clock
02-23 15:13:04.952 240-269/? E/ActivityManager: mtprof entry can not found!
02-23 15:13:04.952 240-269/? E/ActivityManager: java.io.FileNotFoundException: /proc/mtprof/status: open failed: ENOENT (No such file or directory)
02-23 15:13:04.952 240-269/? E/ActivityManager: at libcore.io.IoBridge.open(IoBridge.java:448)
02-23 15:13:04.952 240-269/? E/ActivityManager: at java.io.FileInputStream.<init>(FileInputStream.java:78)
02-23 15:13:04.952 240-269/? E/ActivityManager: at java.io.FileInputStream.<init>(FileInputStream.java:105)
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord.mtProf(ActivityRecord.java:852)
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord.windowsDrawn(ActivityRecord.java:653)
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord$Token.windowsDrawn(ActivityRecord.java:225)
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7046)
02-23 15:13:04.952 240-269/? E/ActivityManager: at android.os.Handler.dispatchMessage(Handler.java:99)
02-23 15:13:04.952 240-269/? E/ActivityManager: at android.os.Looper.loop(Looper.java:154)
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.wm.WindowManagerService$WMThread.run(WindowManagerService.java:756)
02-23 15:13:04.952 240-269/? E/ActivityManager: Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
02-23 15:13:04.952 240-269/? E/ActivityManager: at libcore.io.Posix.open(Native Method)
02-23 15:13:04.952 240-269/? E/ActivityManager: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
02-23 15:13:04.952 240-269/? E/ActivityManager: at libcore.io.IoBridge.open(IoBridge.java:432)
02-23 15:13:04.952 240-269/? E/ActivityManager: at java.io.FileInputStream.<init>(FileInputStream.java:78)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at java.io.FileInputStream.<init>(FileInputStream.java:105)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord.mtProf(ActivityRecord.java:852)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord.windowsDrawn(ActivityRecord.java:653)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.am.ActivityRecord$Token.windowsDrawn(ActivityRecord.java:225)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7046)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at android.os.Handler.dispatchMessage(Handler.java:99)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at android.os.Looper.loop(Looper.java:154)*
02-23 15:13:04.952 240-269/? E/ActivityManager: at com.android.server.wm.WindowManagerService$WMThread.run(WindowManagerService.java:756)*
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
23.02.2016, 16:16 #6
дубль 2:
в разметке MainActivity кнопкам прописаны id ?
файлы классов Main2Activity и Main3Activity вообще существуют?
0
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
23.02.2016, 17:39  [ТС] #7
да. все есть и айди и файлы активити и хмл
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
23.02.2016, 17:51 #8
а что там во второй активити?
можно весь код, ненадо вырезать то, что кажется несущественным
0
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
23.02.2016, 18:00  [ТС] #9
там накручено, попытка сделать типа пазл, который в общем то работал пока был на главной активити а как только поставил его на второстепенную - начало выбивать
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
public class Main2Activity extends AppCompatActivity {
    Chronometer chronometer;
    TextView tvRecord;
 
    Button Start;
    Button Tip;;
    long begin;
    long finish;
    long tempo;
    long record=0;
    int firstClick=0;
    int start=0;
    int buttonId=0;
    int countClick=0;
    int[] butnsId = {R.id.bt1, R.id.bt2, R.id.bt3, R.id.bt4, R.id.bt5, R.id.bt6, R.id.bt7, R.id.bt8, R.id.bt9, R.id.bt10, R.id.bt11, R.id.bt12,
            R.id.bt13, R.id.bt14, R.id.bt15, R.id.bt16};
    int[] stylesId = {R.drawable.button1, R.drawable.button2, R.drawable.button3, R.drawable.button4,R.drawable.button5,R.drawable.button6, R.drawable.button7,R.drawable.button8, R.drawable.button9,R.drawable.button10,R.drawable.button11,R.drawable.button12,
            R.drawable.button13,R.drawable.button14,R.drawable.button15,R.drawable.button16};
    int[] stylesRand=new int [16];
    LinkedList<Button> butns=new LinkedList<>();
    final String TAG = "States";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        chronometer = (Chronometer) findViewById(R.id.chronometer);
        tvRecord=(TextView)findViewById(R.id.tvRec);
 
        Start=(Button)findViewById(R.id.btS2);
      //  Start.setBackgroundResource(R.drawable.start);
        Tip=(Button)findViewById(R.id.btT2);
       // Tip.setBackgroundResource(R.drawable.tooltip);
 
        View.OnClickListener myClickListener=new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
               
                switch (v.getId()) {
                    case  (R.id.btS):
                        firstClick=0;
                        buttonId=0;
                        countClick=0;
                        start=1;
                        tvRecord.setText("Number of moves "+countClick);
                        begin=System.currentTimeMillis();
                        new MyChronometr().turnOn(chronometer);
 
                        new MyButtons().resetEnableAll(butns, stylesId);
                        HashSet<Integer> myset = new HashSet<Integer>();
                        int num;
                        for (int k = 0; k < butns.size(); k++) {
                            for (; ; ) {
                                num = 1 + (int) (Math.random() * ((16 - 1) + 1));
                                if (!myset.contains(num)) break;
                            }
                            myset.add(num);
                            butns.get(k).setBackgroundResource(stylesId[num - 1]);
                            butns.get(k).setText("");
                            stylesRand[k]=stylesId[num-1];
                        }
                        myset.clear();
                        break;
                    case (R.id.btT): if(start!=0){new MyButtons().setNumbers(butns,stylesId,stylesRand);}
                    else {Toast.makeText(Main2Activity.this, "Please press START", Toast.LENGTH_SHORT).show();}
                        break;
 
                    case R.id.bt1: case R.id.bt2: case R.id.bt3:case R.id.bt4: case R.id.bt5:
                    case R.id.bt6: case R.id.bt7:case R.id.bt8:case R.id.bt9:case R.id.bt10:
                    case R.id.bt11: case R.id.bt12: case R.id.bt13: case R.id.bt14:case R.id.bt15:case R.id.bt16:
                        if (start==0){Toast.makeText(Main2Activity.this, "Please press START", Toast.LENGTH_SHORT).show(); break;}
                        if  ((start!=0)&&(!new MyButtons().isDisable(butns))) {
                            firstClick=1;
                            buttonId=v.getId();
                            new MyButtons().setClick(butns, v.getId());
                        }
                        if((start!=0)&&(firstClick==0)&&( buttonId!=v.getId())) {
                            new MyButtons().swap(butns,buttonId,v.getId(),stylesRand);
                            countClick++;
                            buttonId=0;
                            tvRecord.setText("Number of moves " + countClick);
                            if (new MyButtons().isInOrder(stylesId,stylesRand,butnsId.length)){
                                Toast.makeText(Main2Activity.this, "Congratulations!", Toast.LENGTH_SHORT).show();
                                finish=System.currentTimeMillis();
                                tempo=new MyChronometr().getElapsedTime(begin, finish);
                                new MyChronometr().turnOff(chronometer);
                                record=new   MyChronometr().compareTime(record, tempo);
                                tvRecord.setText("Number of moves " + countClick+"    Your record "+new MyChronometr().timeToString(record) );
                                start=0;
 
                            }
 
                        }
 
                        firstClick=0;
                        break;
                }
 
            }
        };
 
      //  Start.setOnClickListener(myClickListener );
      //  Tip.setOnClickListener(myClickListener );
        int i=0;
        for (int id:butnsId)
        {   Button temp = (Button)findViewById(id);
//            temp.setOnClickListener(myClickListener);
  //          temp.setBackgroundResource(stylesId[i]);
            butns.add (temp);
            i++;
        }
 
    }
}
те строчки что закоментированы -давали нулпоинтерэксепшн вообще
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
23.02.2016, 18:02 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
а почему второй активити ставится разметка от первой?
setContentView(R.layout.activity_main);
1
u-geen
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 32
23.02.2016, 21:18  [ТС] #11
наверное потому что я слепой тормоз
кочмар прям
спасибо, я тупо ходил по кругу и не видел
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2016, 21:18
Привет! Вот еще темы с ответами:

Активити - Программирование Android
Не могу вызвать второе Activity

Активити и фрагмент - Программирование Android
в фрагменте у меня есть функция public void setBmp(Bitmap bmp) { } в активити я использую Fragment f =...

Абстрактная активити - Программирование Android
Здравствуйте. Хочу сделать активити для входа в приложение (ввод логина, пароля, проверка этого всего на сервере и т.д.). И хочу...

Запуск активити - Программирование Android
Создаю приложение-справку, при запуске выходит активити (MainActivity), которое содержит 2 кнопки (btnActPerv, btnActZan) при нажатии...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
23.02.2016, 21:18
Ответ Создать тему
Опции темы

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