Ошибка при генерации числа

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Ошибка при генерации числа

Сообщение TemMax » 27 фев 2014, 21:59

Пытаюсь написать программу для генерирования рандомных чисел. Для начала хотя бы от 0 до 9.
Наткнулся на данную тему: viewtopic.php?f=47&t=179
Пользуясь ей попробовал сделать тоже самое у себя. Не вышло. При нажатии кнопки Сгенерировать меня выбрасывает в главное меню моего приложения ("в приложении "asugas" произошла ошибка.")...
В чем же проблема? Мне кажется, что именно в строках

Код: Выделить всё

Random random = new Random(); 
                int i = random.nextInt(9) + 1;

Вот код:

Код: Выделить всё

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;
	}

}

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 28 фев 2014, 04:35

Если есть ошибка, то есть и лог этой ошибки.
RandomText.setText(i); - ошибка тут скорее всего, почему думайте сами.

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 28 фев 2014, 14:01

klblk писал(а):Если есть ошибка, то есть и лог этой ошибки.
RandomText.setText(i); - ошибка тут скорее всего, почему думайте сами.
эхх... совсем в этом новенький.
Не понимаю все равно.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Ошибка при генерации числа

Сообщение Foenix » 28 фев 2014, 14:11

все ошибки есть в логе. Тут слова "выбрасывает", "крашится", "падает" не принимаются. Смотри в лог - там есть адрес ошибки.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 28 фев 2014, 14:18

ок... есть два метода y TextView (их больше, но нам важны эти два):
[syntax=java]setText (CharSequence text)
setText (int resid)[/syntax]

как думаете какой у вас используется?

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 28 фев 2014, 14:56

klblk писал(а):ок... есть два метода y TextView (их больше, но нам важны эти два):
[syntax=java]setText (CharSequence text)
setText (int resid)[/syntax]

как думаете какой у вас используется?
2

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 28 фев 2014, 17:27

ну вот... а теперь подумайте resid что такое? есть у вас id ресурса такой чтобы удовлетворял вашему "i"?
Ладно я слишком пьян чтобы продолжать вас мучать) сделайте что-то типа setText(i + "") или лучше setText(String.valueOf(i))...

но для саморазвития посмотрите вебинар от R.id.team (вроде этот), и научитесь читать логи ошибок, ведь названия у ошибок такие "говорящие"

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 28 фев 2014, 17:33

Я это сделал еще пораньше, чем вы написали.
И вынес

Код: Выделить всё

Random random = new Random(); 
выше, чтобы новые объекты не создавались.
Однако теперь вообще не заходит в раздел "случайные числа" в моем приложении...
код:

Код: Выделить всё

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;
	public Random random = new Random(); 
	
	@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) { 
                 
            	
                int i = random.nextInt(9) + 1;
                 
                RandomText.setText(String.valueOf(i)); 
            } 
        }; 
        btnRandom.setOnClickListener(oclBtnRandom); 
	    
	    
	    
	  }

	protected int nextInt(int i) {
		// TODO Auto-generated method stub
		return 0;
	}

}

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 28 фев 2014, 17:52

*Тут одно неприличное междометие*, зачем называть свой класс Random... этож надо так... наверно вы меня решили потролить...
Если же нет, то почитайте какую-нибудь книжку по ООП.

не ну такого подвоха я не ожидал...

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 28 фев 2014, 17:58

Ни намека на троллинг :(
Совсем мало занимаюсь всем этим. Только начинаю постигать азы и как-то что-то где-то читать, смотреть, усваивать, переваривать)
Даже после переименования класса все так же...

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 28 фев 2014, 20:31

не бросайте меня)

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 01 мар 2014, 04:38

Я спал)
переименуйте класс, а строчку:
Random random = new Random();
оставте без изменений. Если будет подчеркиваться красным, то кликните на Random, далее import

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 01 мар 2014, 10:48

klblk писал(а):Я спал)
переименуйте класс, а строчку:
Random random = new Random();
оставте без изменений. Если будет подчеркиваться красным, то кликните на Random, далее import
Ага... Спасибо) с учебы приду - все сделаю и отчитаюсь тут об успехе)

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 01 мар 2014, 14:32

А где собственно кнопку импорт найти? В ответах на ошибку оно предлагает создать класс или интерфейс... Что-то не понимаю..

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Ошибка при генерации числа

Сообщение klblk » 02 мар 2014, 15:41

напиши туда где импорты: "import java.util.Random"

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 02 мар 2014, 18:20

Ничего не выходит... При запуске приложение ошибка. Читаю логи и не могу понять, в чем проблема. Смотрел вебинар, но...
Вот код activity:

Код: Выделить всё

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;
import java.util.Random;

public class slch111 extends Activity {
	
	TextView tvOut;
	Button btnRandom;
	slch111 random = new slch111();
	

	@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;
	}

}
Вот логи ошибок:

03-02 18:15:42.868: E/AndroidRuntime(17721): FATAL EXCEPTION: main
03-02 18:15:42.868: E/AndroidRuntime(17721): Process: com.rndmlife.prog, PID: 17721
03-02 18:15:42.868: E/AndroidRuntime(17721): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.rndmlife.prog/com.rndmlife.prog.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.rndmlife.prog.MainActivity" on path: DexPathList[[zip file "/data/app/com.rndmlife.prog-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.rndmlife.prog-2, /vendor/lib, /system/lib]]
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.os.Handler.dispatchMessage(Handler.java:102)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.os.Looper.loop(Looper.java:136)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread.main(ActivityThread.java:5017)
03-02 18:15:42.868: E/AndroidRuntime(17721): at java.lang.reflect.Method.invokeNative(Native Method)
03-02 18:15:42.868: E/AndroidRuntime(17721): at java.lang.reflect.Method.invoke(Method.java:515)
03-02 18:15:42.868: E/AndroidRuntime(17721): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-02 18:15:42.868: E/AndroidRuntime(17721): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-02 18:15:42.868: E/AndroidRuntime(17721): at dalvik.system.NativeStart.main(Native Method)
03-02 18:15:42.868: E/AndroidRuntime(17721): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.rndmlife.prog.MainActivity" on path: DexPathList[[zip file "/data/app/com.rndmlife.prog-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.rndmlife.prog-2, /vendor/lib, /system/lib]]
03-02 18:15:42.868: E/AndroidRuntime(17721): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-02 18:15:42.868: E/AndroidRuntime(17721): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-02 18:15:42.868: E/AndroidRuntime(17721): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-02 18:15:42.868: E/AndroidRuntime(17721): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
03-02 18:15:42.868: E/AndroidRuntime(17721): ... 11 more
03-02 18:16:43.823: E/AndroidRuntime(17874): FATAL EXCEPTION: main
03-02 18:16:43.823: E/AndroidRuntime(17874): Process: com.rndmlife.prog, PID: 17874
03-02 18:16:43.823: E/AndroidRuntime(17874): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.rndmlife.prog/com.rndmlife.prog.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.rndmlife.prog.MainActivity" on path: DexPathList[[zip file "/data/app/com.rndmlife.prog-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.rndmlife.prog-1, /vendor/lib, /system/lib]]
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.os.Handler.dispatchMessage(Handler.java:102)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.os.Looper.loop(Looper.java:136)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread.main(ActivityThread.java:5017)
03-02 18:16:43.823: E/AndroidRuntime(17874): at java.lang.reflect.Method.invokeNative(Native Method)
03-02 18:16:43.823: E/AndroidRuntime(17874): at java.lang.reflect.Method.invoke(Method.java:515)
03-02 18:16:43.823: E/AndroidRuntime(17874): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-02 18:16:43.823: E/AndroidRuntime(17874): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-02 18:16:43.823: E/AndroidRuntime(17874): at dalvik.system.NativeStart.main(Native Method)
03-02 18:16:43.823: E/AndroidRuntime(17874): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.rndmlife.prog.MainActivity" on path: DexPathList[[zip file "/data/app/com.rndmlife.prog-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.rndmlife.prog-1, /vendor/lib, /system/lib]]
03-02 18:16:43.823: E/AndroidRuntime(17874): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-02 18:16:43.823: E/AndroidRuntime(17874): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-02 18:16:43.823: E/AndroidRuntime(17874): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-02 18:16:43.823: E/AndroidRuntime(17874): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
03-02 18:16:43.823: E/AndroidRuntime(17874): ... 11 more

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Ошибка при генерации числа

Сообщение Foenix » 02 мар 2014, 18:38

круто у тебя класс назван - slch111
просто название года на этом сайте
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 02 мар 2014, 18:48

Foenix писал(а):круто у тебя класс назван - slch111
просто название года на этом сайте
могли бы и помочь, вместо того, чтобы обращать внимание на название классов

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Ошибка при генерации числа

Сообщение Foenix » 02 мар 2014, 19:26

это и есть помощь. Просто я предположила, что если у тебя есть класс с таким названием, то вероятность, что у тебя есть класс MainActivity приближается к нулю..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Ошибка при генерации числа

Сообщение TemMax » 02 мар 2014, 19:41

мне сказали переименовать класс - я это сделал... я не понимаю вас

Ответить