Skip to main content
 首页 » 编程设计

java之随机数生成器崩溃

2025年05月04日18lyhabc

我正在为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

检查 RndNbGenNbs1RndNbGenNbs2RndNbGenResult,在xml文件中将其中一个(或全部)声明为 AppCompatTextView,同时尝试在Java代码中将其转换为 EditText

您需要选择是 EditText还是 AppCompatTextView