gpt4 book ai didi

java - Android 计算器崩溃

转载 作者:行者123 更新时间:2023-12-02 13:36:21 25 4
gpt4 key购买 nike

我今天刚开始学习Android,我的程序在运行时崩溃了。抱歉我的无能,我们将不胜感激。我一直在试图解决这个问题。我一直在关注youtube教程,但是老师的eclipse是旧版本,学习起来非常困难。这是代码:

package com.audiack.newproj;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity
{
LinearLayout layout1;
EditText number1Text;
EditText number2Text;
Button calcButton,derp;
TextView answer;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

layout1 = new LinearLayout(this);
number1Text = new EditText(this);
number2Text = new EditText(this);
calcButton = new Button(this);
answer = new TextView(this);

layout1.setOrientation(LinearLayout.VERTICAL);

answer.setText("0");
calcButton.setText("you suck at math bro");

calcButton.setOnClickListener((android.view.View.OnClickListener) multiplyClicked);

layout1.addView(number1Text);
layout1.addView(number2Text);
layout1.addView(calcButton);
layout1.addView(answer);

setContentView(layout1);
}
private OnClickListener multiplyClicked = new OnClickListener()
{

@Override
public void onClick(DialogInterface arg0, int arg1)
{
String firstString = number1Text.getText().toString();
String secondString = number2Text.getText().toString();
double firstNum = Double.parseDouble(firstString);
double secondNum = Double.parseDouble(secondString);
double result = firstNum * secondNum;
String resultString = String.valueOf(result);
answer.setText(resultString);
}

};

}

最佳答案

您对要使用 android.view.View OnClickHander 的 onClickListener 使用了错误的导入

private OnClickListener multiplyClicked = new OnClickListener()
{

@Override
public void onClick(View v)
{

并将导入更改为此

import android.view.View;

您导入了一个不同的 EventHandler,自从您这样调用它以来,它就遇到了错误

calcButton.setOnClickListener((android.view.View.OnClickListener) multiplyClicked);

但是在您的导入中,您使用了不同的 OnClickHandler,因此它使用了它并给出了 InvalidCastException,因为它们是两个不同的 EventHandler。

所以如果你删除

import android.content.DialogInterface.OnClickListener;

并更改

calcButton.setOnClickListener(multiplyClicked); 

你应该解决那个无效的转换。

关于java - Android 计算器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com