8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
||||||
1 | ||||||
Первая игра 4х424.12.2015, 03:10. Показов 585. Ответов 15
Метки нет (Все метки)
Есть типа игра, в которой нужно нажать на все кнопки с числами по возрастанию.
У меня 16 кнопок, я решил реализовать всё так: Кликните здесь для просмотра всего текста
Но у меня, почему-то не получилось(нету ответа по нажатию на кнопку), подскажите, пожалуйста, что здесь не так и как это исправить.
0
|
24.12.2015, 03:10 | |
Ответы с готовыми решениями:
15
Первая игра - каково ваше мнение о ней? Addplus - моя первая математическая игра на скорость счета Первая игра Первая игра на C++ |
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
|
|
24.12.2015, 08:40 | 2 |
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
||||||
24.12.2015, 09:14 [ТС] | 4 | |||||
Паблито,
прошло время и с этой проблемой я справился. Действительно, кнопки не знали, что эта ф-ция для них. Добавил в main.xml android:onClick="onClick" и нажатия появились, но тут возникла вторая проблема:"В методе addElement() я добавляю элемент в массив:
Кликните здесь для просмотра всего текста
но когда запускаю программу выдаёт:"Ошибка Андроид приложения". Не подскажете, что здесь не так?! Знаю Например:
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
24.12.2015, 16:53 [ТС] | 6 |
Паблито,
Ошибочки.
Кликните здесь для просмотра всего текста
12-24 08:06:46.864 1776-1776/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.root.v_1/com.example.root.v_1.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=15; index=15 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ArrayIndexOutOfBoundsException: length=15; index=15 at com.example.root.v_1.MainActivity.addElement(MainActivity.java:68) at com.example.root.v_1.MainActivity.onCreate(MainActivity.java:31) at android.app.Activity.performCreate(Activity.java:5133) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)* at android.app.ActivityThread.access$600(ActivityThread.java:141)* at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)* at android.os.Handler.dispatchMessage(Handler.java:99)* at android.os.Looper.loop(Looper.java:137)* at android.app.ActivityThread.main(ActivityThread.java:5103)* at java.lang.reflect.Method.invokeNative(Native Method)* at java.lang.reflect.Method.invoke(Method.java:525)* at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)* at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)* at dalvik.system.NativeStart.main(Native Method)*
0
|
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
|
|
24.12.2015, 16:57 | 7 |
размер sort меньше чем посылаемый koll, твой koll=>15
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
24.12.2015, 17:09 [ТС] | 8 |
Valakin, но оно же приходит равным нулю и плюсуется 16 раз, а значит должно быть koll == 15. Оно же больше не то что нигде не увеличивается, а и не упоминается.
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
24.12.2015, 17:53 [ТС] | 10 |
Паблито,
Кликните здесь для просмотра всего текста
package com.example.root.v_1;
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; import java.util.Arrays; import java.util.Random; public class MainActivity extends Activity implements View.OnClickListener { public LinearLayout llt, myllt; public static Random rnd = new Random(); private int koll = 0, summ = 0; private int[] sort = new int[15]; @Override protected void onCreate( Bundle savedInstanceState ) { super.onCreate(savedInstanceState); setContentView( R.layout.main ); llt = ( LinearLayout ) findViewById( R.id.myllt ); int i = llt.getChildCount(); for ( int k = 0; k < i; k++ ) { if( llt.getChildAt( k ) instanceof LinearLayout ){ myllt = ( LinearLayout )llt.getChildAt( k ); for ( int j = 0; j < myllt.getChildCount(); j++ ) { if( myllt.getChildAt( j ) instanceof Button ) { ( ( Button ) myllt.getChildAt(j) ).setText( String.valueOf( addElement() ) ); } } } } Arrays.sort(sort); } @Override public void onClick(View view) { int tmp = Integer.parseInt((String) ((Button) view).getText()); Toast errorMsg = Toast.makeText(this, "Подумайте ещё (~_-)", Toast.LENGTH_SHORT); Toast tst2 = Toast.makeText(this, "Победа!", Toast.LENGTH_LONG); Toast test = Toast.makeText(this, "Нажато: " + tmp, Toast.LENGTH_LONG); test.show(); if( view == null || !( view instanceof Button ) ) { return; } if ( tmp != sort[summ] ) { errorMsg.show(); } else { summ++; } if ( summ == 15 ) { tst2.show(); } } protected int addElement() { int tmp = rnd.nextInt(100); sort[koll] = tmp; koll++; return tmp; } }
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
24.12.2015, 18:02 [ТС] | 12 |
Паблито,
ну у меня же 16 кнопок.
Хз, это то, что придумал мой мозг.
0
|
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
|
|
25.12.2015, 11:21 | 13 |
в логах написано что длина массива 15, то бишь от нуля до 14
при значении 15 появится ошибка, это в ветке java надо спрашивать
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
25.12.2015, 19:40 [ТС] | 14 |
Valakin,
значит у меня где-то нету одной кнопки? Вроде все отвечают на нажатия и на всех числа есть, если без добавления в массив.
Я её решил сделать по этой игре. Но я почему-то не понял алгоритм и решил сверять по отсортированному массиву.
0
|
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
|
|
26.12.2015, 20:48 | 15 |
по твоим кускам кода причину нельзя узнать, но идея переделать интересная
0
|
8 / 8 / 5
Регистрация: 19.11.2012
Сообщений: 438
|
|
26.12.2015, 22:24 [ТС] | 16 |
Valakin, как бы Вы выходили с данной ситуации? Чтобы делали?
0
|
26.12.2015, 22:24 | |
26.12.2015, 22:24 | |
Помогаю со студенческими работами здесь
16
Составить программу нахождения сумы двух матриц Х(4Х4) и У(4Х4). Элементы матрицы – действительные числа Первая игра на Delphi Моя первая игра Первая игра. Pacman Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |