Вопрос по TextView Random
Вопрос по TextView Random
Здравствуйте
Хочу вытащить любое число от 1го до 9, запускаю, нажимаю Generate, вылетает
Код:
[syntax=java5]
public class MathActivity extends Activity {
TextView Random1;
Button button1;
Random random = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.math);
Random1 = (TextView) findViewById(R.id.random1);
button1 =(Button) findViewById(R.id.button1);
OnClickListener oclBtnRandom = new OnClickListener(){
public void onClick(View v) {
int num = random.nextInt(9) + 1;
Random1.setText(num);
}
};
button1.setOnClickListener(oclBtnRandom);
}
}
[/syntax]
Logcat
[syntax=0]
11-02 18:29:32.849: W/ResourceType(3366): No package identifier when getting value for resource number 0x00000002
11-02 18:29:32.849: D/AndroidRuntime(3366): Shutting down VM
11-02 18:29:32.849: W/dalvikvm(3366): threadid=1: thread exiting with uncaught exception (group=0x40018560)
11-02 18:29:32.849: E/AndroidRuntime(3366): FATAL EXCEPTION: main
11-02 18:29:32.849: E/AndroidRuntime(3366): android.content.res.Resources$NotFoundException: String resource ID #0x2
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.content.res.Resources.getText(Resources.java:208)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.widget.TextView.setText(TextView.java:2863)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.beksultan.math.metrics.MathActivity$1.onClick(MathActivity.java:33)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.view.View.performClick(View.java:2506)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.view.View$PerformClick.run(View.java:9112)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Handler.handleCallback(Handler.java:587)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Handler.dispatchMessage(Handler.java:92)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Looper.loop(Looper.java:130)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.app.ActivityThread.main(ActivityThread.java:3835)
11-02 18:29:32.849: E/AndroidRuntime(3366): at java.lang.reflect.Method.invokeNative(Native Method)
11-02 18:29:32.849: E/AndroidRuntime(3366): at java.lang.reflect.Method.invoke(Method.java:507)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
11-02 18:29:32.849: E/AndroidRuntime(3366): at dalvik.system.NativeStart.main(Native Method)
[/syntax]
Что здесь неправильно? Вроде бы все нормально
Хочу вытащить любое число от 1го до 9, запускаю, нажимаю Generate, вылетает
Код:
[syntax=java5]
public class MathActivity extends Activity {
TextView Random1;
Button button1;
Random random = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.math);
Random1 = (TextView) findViewById(R.id.random1);
button1 =(Button) findViewById(R.id.button1);
OnClickListener oclBtnRandom = new OnClickListener(){
public void onClick(View v) {
int num = random.nextInt(9) + 1;
Random1.setText(num);
}
};
button1.setOnClickListener(oclBtnRandom);
}
}
[/syntax]
Logcat
[syntax=0]
11-02 18:29:32.849: W/ResourceType(3366): No package identifier when getting value for resource number 0x00000002
11-02 18:29:32.849: D/AndroidRuntime(3366): Shutting down VM
11-02 18:29:32.849: W/dalvikvm(3366): threadid=1: thread exiting with uncaught exception (group=0x40018560)
11-02 18:29:32.849: E/AndroidRuntime(3366): FATAL EXCEPTION: main
11-02 18:29:32.849: E/AndroidRuntime(3366): android.content.res.Resources$NotFoundException: String resource ID #0x2
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.content.res.Resources.getText(Resources.java:208)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.widget.TextView.setText(TextView.java:2863)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.beksultan.math.metrics.MathActivity$1.onClick(MathActivity.java:33)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.view.View.performClick(View.java:2506)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.view.View$PerformClick.run(View.java:9112)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Handler.handleCallback(Handler.java:587)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Handler.dispatchMessage(Handler.java:92)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.os.Looper.loop(Looper.java:130)
11-02 18:29:32.849: E/AndroidRuntime(3366): at android.app.ActivityThread.main(ActivityThread.java:3835)
11-02 18:29:32.849: E/AndroidRuntime(3366): at java.lang.reflect.Method.invokeNative(Native Method)
11-02 18:29:32.849: E/AndroidRuntime(3366): at java.lang.reflect.Method.invoke(Method.java:507)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
11-02 18:29:32.849: E/AndroidRuntime(3366): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
11-02 18:29:32.849: E/AndroidRuntime(3366): at dalvik.system.NativeStart.main(Native Method)
[/syntax]
Что здесь неправильно? Вроде бы все нормально
Re: Вопрос по TextView Random
[syntax=java]int num = random.nextInt(9) + 1;
String aaa = String.valueOf(num);
Random1.setText(aaa);[/syntax]
String aaa = String.valueOf(num);
Random1.setText(aaa);[/syntax]
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Вопрос по TextView Random
Ах, да, спасибо, работает!
Re: Вопрос по TextView Random
У меня есть строки в котором я получаю ответ присвоения X НА Y
[syntax=java]String who = Edittext1.getText().toString();
String wh = rand1 + rand2;
if (who.equals(wh))
image.setImageResource(R.drawable.ic_true);
else
image.setImageResource(R.drawable.not);
break;[/syntax]
Проблема в том что оно не присваивает, например 9 + 1, должно выводить 10, а он 91 выводит
Не знаю как обратиться к сложением именно к числам, может поможете?
[syntax=java]String who = Edittext1.getText().toString();
String wh = rand1 + rand2;
if (who.equals(wh))
image.setImageResource(R.drawable.ic_true);
else
image.setImageResource(R.drawable.not);
break;[/syntax]
Проблема в том что оно не присваивает, например 9 + 1, должно выводить 10, а он 91 выводит
Не знаю как обратиться к сложением именно к числам, может поможете?
Re: Вопрос по TextView Random
например
int wh = Integer.parseInt(rand1) + Integer.parseInt(rand2) - рез-т будет 10
а потом опять к строке преобразовать
int wh = Integer.parseInt(rand1) + Integer.parseInt(rand2) - рез-т будет 10
а потом опять к строке преобразовать
Re: Вопрос по TextView Random
У меня [syntax=java]String rand1;
String rand2;[/syntax]
Делаю как ты сказал, String преобразовываю в int, но результат никак не выходит
String rand2;[/syntax]
Делаю как ты сказал, String преобразовываю в int, но результат никак не выходит
Re: Вопрос по TextView Random
Зачем заниматься такой ерундой?
Если нужно хранить числа и работать с ними, используй Integer (речь идет о целых числах).
Integer rand1, rand2;
Когда появиться желание вывести значение, после множества арифметических операция,
преобразуем в текст результат, например: rand1.toString()
Если нужно хранить числа и работать с ними, используй Integer (речь идет о целых числах).
Integer rand1, rand2;
Когда появиться желание вывести значение, после множества арифметических операция,
преобразуем в текст результат, например: rand1.toString()
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Вопрос по TextView Random
ЧТО ТО Я ЗАПУТАЛСЯ
Смотри:
[syntax=java]String rand1;
String rand2;
Random random = new Random();
int i = random.nextInt(9) + 1;
int j = random.nextInt(9) + 1;
rand1 = String.valueOf(i);
Random1.setText(rand1);
rand2 = String.valueOf(j);
Random2.setText(rand2);
String who = Edittext1.getText().toString();
String wh = rand1 + rand2;
if (who.equals(wh))
// правильно
else
// неправильно
break;[/syntax]
вот так достаю два числа то 1 го до 9, и пытаюсь их друг другу прибавить
Смотри:
[syntax=java]String rand1;
String rand2;
Random random = new Random();
int i = random.nextInt(9) + 1;
int j = random.nextInt(9) + 1;
rand1 = String.valueOf(i);
Random1.setText(rand1);
rand2 = String.valueOf(j);
Random2.setText(rand2);
String who = Edittext1.getText().toString();
String wh = rand1 + rand2;
if (who.equals(wh))
// правильно
else
// неправильно
break;[/syntax]
вот так достаю два числа то 1 го до 9, и пытаюсь их друг другу прибавить
Re: Вопрос по TextView Random
Примерно так, не проверял:
[syntax=java]Random random = new Random();
Integer rand1 = random.nextInt(9) + 1;
Integer rand2 = random.nextInt(9) + 1;
Random1.setText(rand1.toString());
Random2.setText(rand2.toString());
String who = Edittext1.getText().toString();
// нужно ещё добавить проверку что пользователь ввёл число а не текст,
// и проверить строку на пустоту
Integer iwho = Integer.parseInt(who);
Integer wh = rand1 + rand2;
if (iwho.equals(wh))
// правильно
else
// неправильно
break;[/syntax]
Вот готовый метод, для проверки является ли строка числом
[syntax=java]// является ли строка числом
public boolean checkString(String string) {
try {
Integer.parseInt(string);
} catch (Exception e) {
return false;
}
return true;
}
[/syntax]
[syntax=java]Random random = new Random();
Integer rand1 = random.nextInt(9) + 1;
Integer rand2 = random.nextInt(9) + 1;
Random1.setText(rand1.toString());
Random2.setText(rand2.toString());
String who = Edittext1.getText().toString();
// нужно ещё добавить проверку что пользователь ввёл число а не текст,
// и проверить строку на пустоту
Integer iwho = Integer.parseInt(who);
Integer wh = rand1 + rand2;
if (iwho.equals(wh))
// правильно
else
// неправильно
break;[/syntax]
Вот готовый метод, для проверки является ли строка числом
[syntax=java]// является ли строка числом
public boolean checkString(String string) {
try {
Integer.parseInt(string);
} catch (Exception e) {
return false;
}
return true;
}
[/syntax]
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Вопрос по TextView Random
А будет ли этот пример присваивать 9 +1 или напишет мне просто 91 ???
Re: Вопрос по TextView Random
Кому надо нашел решение: Не мое конечно!
[syntax=java]public class DvaActivity extends Activity {
int a, b, c;
EditText Text1, Text2;
TextView Text;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Text = (TextView) findViewById(R.id.text);
Text1 = (EditText) findViewById(R.id.EditText01);
Text2 = (EditText) findViewById(R.id.EditText02);
final Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
a = Integer.parseInt(Text1.getText().toString());
b = Integer.parseInt(Text2.getText().toString());
} catch (NumberFormatException e) {
a = 0;
b = 0;
}
c = a+b;
Text.setText("Результат сложения = "+c);
}
});
}
}[/syntax]
[syntax=java]public class DvaActivity extends Activity {
int a, b, c;
EditText Text1, Text2;
TextView Text;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Text = (TextView) findViewById(R.id.text);
Text1 = (EditText) findViewById(R.id.EditText01);
Text2 = (EditText) findViewById(R.id.EditText02);
final Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
a = Integer.parseInt(Text1.getText().toString());
b = Integer.parseInt(Text2.getText().toString());
} catch (NumberFormatException e) {
a = 0;
b = 0;
}
c = a+b;
Text.setText("Результат сложения = "+c);
}
});
}
}[/syntax]
Re: Вопрос по TextView Random
столько шума из-за преобразования числа в текст)))
String wh = rand1 + rand2; //сразу преобразовывается к строке и по этому выводит 91
String wh = rand1 + rand2; //сразу преобразовывается к строке и по этому выводит 91
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена