随机数生成器崩溃
Random Number Generator crashes
我正在为 android 制作一个随机数生成器,我是 Java 的新手。在一些帮助下,我设法做了一些应该可以工作的东西,但是当我尝试在模拟器中启动它时,应用程序崩溃了。这是我使用的代码:
public class MainActivity extends AppCompatActivity implements OnClickListener {
EditText RndNbGenNbs1, RndNbGenNbs2;
TextView RndNbGenResult;
int MinNumber;
int MaxNumber;
String Result;
Random Rnd = new Random();
String Number1;
String Number2;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RndNbGenNbs1 = (EditText) findViewById(R.id.RndNbGenNbs1);
RndNbGenNbs2 = (EditText) findViewById(R.id.RndNbGenNbs2);
RndNbGenResult = (TextView) findViewById(R.id.RndNbGenResult);
Number1 = RndNbGenNbs1.getText().toString();
Number2 = RndNbGenNbs2.getText().toString();
btn = (Button) findViewById(R.id.RndNbGenBtn1);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.RndNbGenBtn1:
MinNumber = Integer.parseInt(Number1);
MaxNumber = Integer.parseInt(Number2);
Rnd.nextInt(MaxNumber - MinNumber);
Result = Rnd.toString();
RndNbGenResult.setText(Result);
break;
}
}
}
来自您的日志:
ComponentInfo{com.jeepingviini.randomnumbergenerator/com.jeepingviini.randomnumbergenerator.MainActivity}:
java.lang.ClassCastException:
android.support.v7.widget.AppCompatTextView cannot be cast to
android.widget.EditText
您正在尝试将 AppCompatTextView
转换为 EditText
。
检查RndNbGenNbs1
、RndNbGenNbs2
和RndNbGenResult
,其中一个(或全部)在xml文件中被声明为AppCompatTextView
,而你'重新尝试在您的 java 代码中将其转换为 EditText
。
您需要选择是要 EditText
还是 AppCompatTextView
。
我正在为 android 制作一个随机数生成器,我是 Java 的新手。在一些帮助下,我设法做了一些应该可以工作的东西,但是当我尝试在模拟器中启动它时,应用程序崩溃了。这是我使用的代码:
public class MainActivity extends AppCompatActivity implements OnClickListener {
EditText RndNbGenNbs1, RndNbGenNbs2;
TextView RndNbGenResult;
int MinNumber;
int MaxNumber;
String Result;
Random Rnd = new Random();
String Number1;
String Number2;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RndNbGenNbs1 = (EditText) findViewById(R.id.RndNbGenNbs1);
RndNbGenNbs2 = (EditText) findViewById(R.id.RndNbGenNbs2);
RndNbGenResult = (TextView) findViewById(R.id.RndNbGenResult);
Number1 = RndNbGenNbs1.getText().toString();
Number2 = RndNbGenNbs2.getText().toString();
btn = (Button) findViewById(R.id.RndNbGenBtn1);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.RndNbGenBtn1:
MinNumber = Integer.parseInt(Number1);
MaxNumber = Integer.parseInt(Number2);
Rnd.nextInt(MaxNumber - MinNumber);
Result = Rnd.toString();
RndNbGenResult.setText(Result);
break;
}
}
}
来自您的日志:
ComponentInfo{com.jeepingviini.randomnumbergenerator/com.jeepingviini.randomnumbergenerator.MainActivity}: java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView cannot be cast to android.widget.EditText
您正在尝试将 AppCompatTextView
转换为 EditText
。
检查RndNbGenNbs1
、RndNbGenNbs2
和RndNbGenResult
,其中一个(或全部)在xml文件中被声明为AppCompatTextView
,而你'重新尝试在您的 java 代码中将其转换为 EditText
。
您需要选择是要 EditText
还是 AppCompatTextView
。