С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Ошибка при генерации числа - Программирование Android

28.02.2014, 16:37. Просмотров 621. Ответов 4
Метки нет (Все метки)

Пытаюсь написать программу для генерирования рандомных чисел. Для начала хотя бы от 0 до 9.
При нажатии кнопки Сгенерировать меня выбрасывает в главное меню моего приложения ("в приложении "asugas" произошла ошибка.")...
В чем же проблема? Мне кажется, что именно в строках:
Javascript
1
2
Random random = new Random();  
                int i = random.nextInt(9) + 1;
Вот код:
Javascript
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
package ru.mfa.develop.AllForLife; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
 
 
 
public class Random extends Activity { 
     
    TextView RandomText;  
    Button btnRandom; 
     
    @Override 
      protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.random); 
         
         
        RandomText = (TextView) findViewById(R.id.RandomText);  
        btnRandom = (Button) findViewById(R.id.btnRandom);  
          
        OnClickListener oclBtnRandom = new OnClickListener(){  
            public void onClick(View v) {  
                  
                Random random = new Random();  
                int i = random.nextInt(9) + 1; 
                  
                RandomText.setText(i);  
            }  
        };  
        btnRandom.setOnClickListener(oclBtnRandom);  
         
         
         
      } 
 
    protected int nextInt(int i) { 
        // TODO Auto-generated method stub 
        return 0; 
    } 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 16:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при генерации числа (Программирование Android):

Ошибка в генерации файла APK - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Проблема в том, что у меня не получается сгенерировать файл apk, и я не...

Ошибка при загрузки изображений с карты памяти при повороте экрана - Программирование Android
Здравствуйте! Вопрос в следующем. Загружаю в активити фотки с камеры. Имя файла передаю следующим кодом: Intent captureIntent = new...

Ошибка при запуске AsyncTask при нажатии на пункт ActionBar - Программирование Android
Здравствуйте, почему при нажатии на пункт Action Bar'а вылетает ошибка? @Override public boolean onCreateOptionsMenu(Menu menu)...

Ошибка при генерации бд в ERwin - SQL Server
CREATE RULE DepId_more_than_0 AS DepId > 0 The name "DepId" is not permitted in this context. Valid expressions are constants,...

ошибка при генерации массива - Delphi
var Form1: TForm1; i, j: integer; const n=5; m=5; type mas=array of integer; var MassA,MassB:mas;

При генерации страницы возникает ошибка - PHP
Возникает ошибка---Fatal error: Cannot access empty property in D:\openServer\domains\localhost\prob\page.php on line 25 Хотя свойство...

4
verylazy
Заблокирован
28.02.2014, 17:10 #2
Скорее всего надо писать не RandomText.setText(i);
а так
Java
1
RandomText.setText(String.valueOf(i));
и строку
Java
1
Random random = new Random();
я бы вынес сюда
Java
1
2
3
TextView RandomText;  
Button btnRandom;
private Random random = new Random();
нет смысла создавать каждый раз новый объект при нажатии на кнопку
1
TemMax
0 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 6
28.02.2014, 21:32  [ТС] #3
Да, спасибо. Сделал все так, как вы и посоветовали.
Однако теперь выкидывает при переходе в раздел приложения "случайные числа"... вот такие дела

Добавлено через 3 часа 13 минут
не работает ничего...
0
verylazy
Заблокирован
28.02.2014, 23:36 #4
покажите логи и исправленный код
с ними будет быстрее
0
TemMax
0 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 6
28.02.2014, 23:57  [ТС] #5
Новый код. Для рандомизатора сделал новое приложение(из старого пока убрал), но суть вся та же осталась.
Полный код:
Javascript
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
package com.rndmlife.prog;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    
    TextView tvOut;
    Button btnRandom;
    public MainActivity random = new MainActivity();
    
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        tvOut = (TextView) findViewById(R.id.tvOut);
        btnRandom = (Button) findViewById(R.id.btnRandom);
        
        
        OnClickListener oclBtnRandom = new OnClickListener(){ 
            public void onClick(View v) { 
                 
                 
                int i = random.nextInt(9) + 1;
                 
                tvOut.setText(String.valueOf(i)); 
            } 
        }; 
        btnRandom.setOnClickListener(oclBtnRandom);
        
        
        
        
    }
 
    protected int nextInt(int i) {
        // TODO Auto-generated method stub
        return 0;
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
Логи:

02-28 22:55:42.190: I/dalvikvm(16806): threadid=1: stack overflow on call to Ljava/lang/ref/Reference;.<init>:VLL
02-28 22:55:42.190: I/dalvikvm(16806): method requires 12+20+4=36 bytes, fp is 0x6d46a30c (12 left)
02-28 22:55:42.190: I/dalvikvm(16806): expanding stack end (0x6d46a300 to 0x6d46a000)
02-28 22:55:42.190: I/dalvikvm(16806): Shrank stack (to 0x6d46a300, curFrame is 0x6d46a340)
02-28 22:55:42.190: D/AndroidRuntime(16806): Shutting down VM
02-28 22:55:42.190: W/dalvikvm(16806): threadid=1: thread exiting with uncaught exception (group=0x415caba8)
02-28 22:55:42.210: D/dalvikvm(16806): GC_FOR_ALLOC freed 420K, 5% free 9130K/9584K, paused 17ms, total 17ms
02-28 22:55:42.240: D/dalvikvm(16806): GC_FOR_ALLOC freed 116K, 3% free 9360K/9644K, paused 13ms, total 13ms
02-28 22:55:42.260: D/dalvikvm(16806): GC_FOR_ALLOC freed 272K, 5% free 9385K/9832K, paused 14ms, total 14ms
02-28 22:55:42.280: D/dalvikvm(16806): GC_FOR_ALLOC freed 248K, 5% free 9404K/9832K, paused 12ms, total 12ms
02-28 22:55:42.280: E/AndroidRuntime(16806): FATAL EXCEPTION: main
02-28 22:55:42.280: E/AndroidRuntime(16806): Process: com.rndmlife.prog, PID: 16806
02-28 22:55:42.280: E/AndroidRuntime(16806): java.lang.StackOverflowError
02-28 22:55:42.280: E/AndroidRuntime(16806): at java.lang.ref.FinalizerReference.<init>(FinalizerReference.java:42)
02-28 22:55:42.280: E/AndroidRuntime(16806): at java.lang.ref.FinalizerReference.add(FinalizerReference.java:54)
02-28 22:55:42.280: E/AndroidRuntime(16806): at android.os.StrictMode$InstanceTracker.<init>(StrictMode.java:2244)
02-28 22:55:42.280: E/AndroidRuntime(16806): at android.os.StrictMode.trackActivity(StrictMode.java:1946)
02-28 22:55:42.280: E/AndroidRuntime(16806): at android.app.Activity.<init>(Activity.java:761)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:11)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:15)
02-28 22:55:42.280: E/AndroidRuntime(16806): at com.rndmlife.prog.MainActivity.<init>(MainActivity.java:
02-28 22:55:42.310: D/dalvikvm(16806): GC_FOR_ALLOC freed 530K, 6% free 9384K/9952K, paused 12ms, total 12ms
0
28.02.2014, 23:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 23:57
Привет! Вот еще темы с ответами:

Ошибка при генерации случайных чисел - Boost C++
добрый день,уважаемые коллеги! У меня возникла следующая проблема. Мне нужно задать распределение случайных чисел по нормальному закону....

.NET 4.x Ошибка при генерации кода для свойства - C#
Доброго времени суток! Помогите, кто может!!! Выходит ошибка которую не пойму как исправить (см. вложение)! Выдаётся сообщение даже...

Ошибка при генерации Excel через OpenXML - C#
Добрый день. В программе работы с БД написал метод экспорта данных из DataGridView в Excel-файл с помощью OpenXML. В 90% случаев...

ошибка создания таблицы при генерации кода в майскль воркбенч - MySQL
Кто нибудь видит, в чем проблема?????????? Executing SQL script in server ERROR: Error 1005: Can't create table 'mydb.Desired_Job'...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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