您好我希望我的应用程序允许用户输入数字1到16,按一个按钮,然后将输入数字的十六进制等效项显示在屏幕上作为Toast消息,并且存储在单个字节中是十六进制。现在我已经将它的大部分内容都准备好了,它只是我在输入字符串到十六进制转换时遇到了问题。有人能给我一些转换帮助吗?我敢肯定必须有一个简单的方法吗? 例如,如果我输入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();
}
}
答案 0 :(得分:0)
您只想更改一行:
toastMsg = input;
到此:
toastMsg = Integer.toHexString(Integer.parseInt(input));