我正在为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;
}
}
}
答案 0 :(得分:0)
来自您的日志:
ComponentInfo {com.jeepingviini.randomnumbergenerator / com.jeepingviini.randomnumbergenerator.MainActivity}: java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView无法强制转换为 android.widget.EditText
您正在尝试将AppCompatTextView
投射到EditText
。
检查RndNbGenNbs1
,RndNbGenNbs2
和RndNbGenResult
,在xml文件中将其中一个(或全部)声明为AppCompatTextView
,同时您尝试投射它在你的java代码中为EditText
。
您需要选择是否需要EditText
或AppCompatTextView
。