如何参与输入号码?

时间:2019-03-01 13:20:38

标签: java android

很抱歉,仍在学习中,并且是代码的新手。我不知道标题是否清晰,我试图获取用户的最后一个和第一个输入数字,我按照了一些教程的操作,将其更改为我需要的问题,即使编辑文本是,我也得到了一些数字空的。我不知道是否还有另一种方法,我只是按照某个主题来获取第一位和最后一位数字。这是我的代码。

EditText ca_code = findViewById(R.id.caps_code);
TextView txt_code_out = findViewById(R.id.out_code);
int mutli = 0;

String lst_code = String.valueOf(ca_code);
//char fst = lst_code.charAt(0);
//char snd = lst_code.charAt(1);
char lat = lst_code.charAt(lst_code.length() - 1);
txt_code_out.setText(String.valueOf((int) lat));

为此,如果我更改length() - 1,则会得到不同的输出 -1 = output = 125-2 =101 , -3=100, -4= 111, -5 =99

然后我将代码稍微更改为

EditText capscode = findViewById(R.id.caps_code);
TextView txt_code_out = findViewById(R.id.out_code);

String lst_code = String.valueOf(capscode);
//char fst = lst_code.charAt(0);
//char snd = lst_code.charAt(1);
char lat = lst_code.charAt(lst_code.length() - 1);
txt_code_out.setText(String.valueOf(lat));

输出为}edoc_spac/di:ppa 7 300,,,,持续-1到20

2 个答案:

答案 0 :(得分:1)

更改为:

String lst_code = capscode.getText().toString();

capscodeEditText而不是数字或String
使用getText().toString(),您不需要String.valueOf()

答案 1 :(得分:0)

更改行

String lst_code = String.valueOf(capscode);

String lst_code = capscode.getText().toString();

变量capscode的类型为EditText,它具有方法getText()来检索其当前值。该值再次来自类型Editable,并且最终提供了一种toString()方法。