android studio资源二进制,我如何从二进制转换为Java中的十进制(使用android studio)...

我正在制作一个android应用程序,并且该应用程序的组件之一被设计为在二进制文件中将数字转换为十进制数。每次运行它都会崩溃。我如何从二进制转换为Java中的十进制(使用android studio)

public void Button0Clicked(View v)

{

TextView myText = (TextView)findViewById(R.id.textView);

if (firstType == true)

{

myText.setText("");

firstType = false;

}

myText.setText(myText.getText() + "0");

}

public void Button1Clicked(View v)

{

TextView myText = (TextView)findViewById(R.id.textView);

if (firstType == true)

{

myText.setText("");

firstType = false;

}

myText.setText(myText.getText() + "1");

}

public void Conversion(View view)

{

TextView myText = (TextView)findViewById(R.id.textView);

int decimalValue = Integer.parseInt(myText.getText().toString(),2);

TextView result = (TextView)findViewById(R.id.textView2);

result.setText(decimalValue);

}

我已经缩小问题到一些问题与的Integer.parseInt()函数,是我错了执行?

堆栈跟踪

07-04 09:43:17.806 29832-29832/com.example.jay.myapplication2 E/AndroidRuntime﹕ FATAL EXCEPTION: main

Process: com.example.jay.myapplication2, PID: 29832

java.lang.IllegalStateException: Could not execute method of the activity

at android.view.View$1.onClick(View.java:3823)

at android.view.View.performClick(View.java:4438)

at android.view.View$PerformClick.run(View.java:18422)

at android.os.Handler.handleCallback(Handler.java:733)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:136)

at android.app.ActivityThread.main(ActivityThread.java:5001)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)

at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.reflect.InvocationTargetException

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at android.view.View$1.onClick(View.java:3818)

at android.view.View.performClick(View.java:4438)

at android.view.View$PerformClick.run(View.java:18422)

at android.os.Handler.handleCallback(Handler.java:733)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:136)

at android.app.ActivityThread.main(ActivityThread.java:5001)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)

at dalvik.system.NativeStart.main(Native Method)

Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x271a

at android.content.res.Resources.getText(Resources.java:244)

at android.widget.TextView.setText(TextView.java:3888)

at com.example.jay.myapplication2.MyActivity.Conversion(MyActivity.java:66)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at android.view.View$1.onClick(View.java:3818)

at android.view.View.performClick(View.java:4438)

at android.view.View$PerformClick.run(View.java:18422)

at android.os.Handler.handleCallback(Handler.java:733)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:136)

at android.app.ActivityThread.main(ActivityThread.java:5001)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

+2

它崩溃时的错误是什么?它抛出异常吗?它是什么? –

+0

在Logcat中,它表示“java.lang.IllegalStateException:无法执行活动的方法” –

+4

您可以使用logcat添加一个堆栈跟踪到问题中。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Android Studio 项目,可以将十进制转换二进制、八进制和十六进制: 1. 首先,在 Android Studio 创建一个新项目,并在 MainActivity.java 文件添加以下代码: ```java import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { Button btnConvert; EditText etDecimal; TextView tvBinary, tvOctal, tvHexadecimal; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnConvert = findViewById(R.id.btnConvert); etDecimal = findViewById(R.id.etDecimal); tvBinary = findViewById(R.id.tvBinary); tvOctal = findViewById(R.id.tvOctal); tvHexadecimal = findViewById(R.id.tvHexadecimal); btnConvert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int decimal = Integer.parseInt(etDecimal.getText().toString()); String binary = Integer.toBinaryString(decimal); String octal = Integer.toOctalString(decimal); String hexadecimal = Integer.toHexString(decimal).toUpperCase(); tvBinary.setText(binary); tvOctal.setText(octal); tvHexadecimal.setText(hexadecimal); } }); } } ``` 2. 接下来,在 activity_main.xml 文件添加以下代码: ```xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/etDecimal" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter decimal number" android:inputType="number" /> <Button android:id="@+id/btnConvert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/etDecimal" android:text="Convert" /> <TextView android:id="@+id/tvBinary" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/btnConvert" android:text="Binary:" /> <TextView android:id="@+id/tvOctal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/tvBinary" android:text="Octal:" /> <TextView android:id="@+id/tvHexadecimal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/tvOctal" android:text="Hexadecimal:" /> </RelativeLayout> ``` 3. 运行应用程序,并输入十进制数,然后点击“Convert”按钮即可看到转换后的二进制、八进制和十六进制数。 注意:此应用程序只能处理小于 2^31 的十进制数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值