android将EditText输入字符串转换为其十六进制等效项

时间:2014-03-11 14:43:19

标签: java android string hex type-conversion

您好我希望我的应用程序允许用户输入数字1到16,按一个按钮,然后将输入数字的十六进制等效项显示在屏幕上作为Toa​​st消息,并且存储在单个字节中是十六进制。现在我已经将它的大部分内容都准备好了,它只是我在输入字符串到十六进制转换时遇到了问题。有人能给我一些转换帮助吗?我敢肯定必须有一个简单的方法吗? 例如,如果我输入1,它将在屏幕上以吐司形式显示0x31,而0x31将存储在一个字节中。

感谢  

代码:

public class MainActivity extends Activity {

private static String toastMsg;
private static String input;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button genButton = (Button) findViewById(R.id.btnGen);
    final EditText inputText = (EditText) findViewById(R.id.etxtInput);
    final TextView outputText = (TextView) findViewById(R.id.txtOutput);        

    genButton.setOnClickListener(new OnClickListener() {

        public void onClick(View view){

            input = inputText.getText().toString();

            toastMsg = input;
            toast();
        }
    });


}



//-----TOAST---------------------------------//
public void toast() {

        Toast toast= Toast.makeText(getBaseContext(), toastMsg, Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER, 0, -100);
        toast.show();

    }
}

1 个答案:

答案 0 :(得分:0)

您只想更改一行:

toastMsg = input;

到此:

toastMsg = Integer.toHexString(Integer.parseInt(input));