当前位置: 首页 > 知识库问答 >
问题:

货币转换器android应用程序中的运行时致命错误

穆城
2023-03-14

当我按下按钮时,应用程序会崩溃。每个转换“国名”功能都是一个按钮。我会在评论中发布错误。提前道谢。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void convertIndia(View view){ convert(64.7,"Rupees"); }
    public void convertEurope(View view){ convert(0.85,"Euros"); }
    public void convertBritish(View view){ convert(0.78,"Pounds"); }
    public void convertUae(View view) { convert(3.67,"Dhiram"); }
    public void convertCanada(View view){ convert(1.26,"Ca Dollors"); }     
    public void convertAustralia(View view) { convert(1.26,"Aus Dollors"); }

    public void convert(double other,String country){

        EditText editText = (EditText) findViewById(R.id.value);
        Double usdValue = Double.parseDouble(editText.getText().toString());

        Log.i("USDVAL",usdValue.toString());
        Log.i("EDITTEXT",editText.toString());

        Double finalvalue = usdValue * other;

        Toast.makeText(MainActivity.this, String.format("%.2f", finalvalue) + " " + country, Toast.LENGTH_LONG).show();
    }
}
<Button
    android:id="@+id/india"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/british"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/value"
    android:layout_toStartOf="@+id/british"
    android:onClick="convertIndia"
    android:text="IND_Rupee"
    tools:layout_editor_absoluteX="131dp"
    tools:layout_editor_absoluteY="70dp" />

共有1个答案

皇甫宇定
2023-03-14

您应该尝试onClickListener而不是Android:onClick。示例:

Button button = (Button) findViewById(R.id.yourButtonId);   
button.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        callYourMethodHere();
    }
});

把这个放在Create里面,你就可以开始了

 类似资料:
  • 每当我想在jackson对象映射器中包装一些数据时,我会得到一个运行时错误,其中包含以下消息: 07-07 17:44:59.049 196 42-20156/com.app.teamchannel e/androidruntime:致命异常:SyncAdapterThread-1 java.lang.verifyerror:org/codehaus/jackson/map/objectmappe

  • 我在android studio中建立了一个转换器,当我每次按转换按钮时,距离部分(activity)就会崩溃。该应用程序说,特定的activity已经停止工作,该应用程序回到主要的activity。在android studio中没有显示任何错误,我想我的问题可能是在使用旋转器中的int pos,但我不确定。这是我最后要完成的元素。请帮帮忙。下面是Java,后面是XML。 和xml null

  • //这是我的主要活动。Java语言 } //这是我的客户端界面 } //这是我的ConvertAmt类(存储结果的模型类) 公共类convertmat{private double result; } //这是我的StackTrace 2020-08-27 23:59:53.212 1471-1471/com。实例带系统的在线货币。错误:在com。谷歌。格森。流动JsonReader。nextNo

  • 请帮我找出代码的问题。首先,应用程序按预期工作,但当屏幕方向从纵向更改为横向时,应用程序正在破坏,这就是为什么我决定添加“onSaveInstanceState(Bundle outState)”和“onRestoreInstanceState(Bundle savedInstanceState)”的原因,我在Java中是个新手,但我试着自己解决了四天,没有任何实际结果。 以下是我的Java代码和

  • 每当我尝试运行我的应用程序时,屏幕截图中的窗口就会弹出。声明找不到默认活动,因此我无法部署我的应用程序: 我的代码清单文件 这就是我点击运行时得到的窗口- 我的代码的Gradle文件:

  • Eclipse在容器中工作得很好,它的窗口在主机上是可见的(X11通过socket共享)。 该应用程序是一个使用JavaFX(Efxclipse和M2Eclipse)的Eclipse RCP项目。我删除了下面RCP的所有引用,以减少示例中的复杂性,并且因为它也发生在真正简单的JavaFX应用程序(非OSGI)中--所以OSGI不是发行方。 在Eclipse(在Docker容器内)中运行JavaFX