嗨,我想编写一个简单的应用程序来计算三角形的面积,我希望用户在Edittext
视图中设置三角形的高度和底边,然后单击button
在下面的Edittext
视图中显示结果,但是我的应用程序崩溃了。
这是我的代码:
java code
public class Activity2 extends AppCompatActivity {
TextView txtmasahat;
EditText edttext_ghaede;
EditText edttext_ertefa;
Button btnmosalas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
txtmasahat=(TextView) findViewById(R.id.txtmasahat) ;
btnmosalas=(Button)findViewById(R.id.btnmosalas);
edttext_ertefa=(EditText)findViewById(R.id.edttext_ertefa);
edttext_ghaede=(EditText)findViewById(R.id.edttext_ghaede);
btnmosalas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int input1=edttext_ghaede.getInputType();
int input2=edttext_ertefa.getInputType();
double masahat=input1*input2/2;
}
});
答案 0 :(得分:1)
我认为这段代码将为您提供帮助。
btnmosalas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1=edttext_ghaede.getText().toString();
String input2=edttext_ertefa.getText().toString();
if(!TextUtils.isEmpty(input1)&&!TextUtils.isEmpty(input2))
{
Integer
Integer masahat=Integer.parseInt(input1)*Integer.parseInt(input2)/2;
}
});
答案 1 :(得分:1)
.getInputType()不返回您期望的int值。您可以改用以下代码
public class Activity2 extends AppCompatActivity {
TextView txtmasahat;
EditText edttext_ghaede;
EditText edttext_ertefa;
Button btnmosalas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
txtmasahat=(TextView) findViewById(R.id.txtmasahat) ;
btnmosalas=(Button)findViewById(R.id.btnmosalas);
edttext_ertefa=(EditText)findViewById(R.id.edttext_ertefa);
edttext_ghaede=(EditText)findViewById(R.id.edttext_ghaede);
btnmosalas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1Str=edttext_ghaede.getText().toString();
String input2Str=edttext_ertefa.getText().toString();
int input1 = Integer.parseInt(input1Str);
int input2 = Integer.parseInt(input2Str);
double masahat=input1*input2/2;
}
});
答案 2 :(得分:1)
int input1=edttext_ghaede.getInputType();
您不需要的是getInputType()
。您需要使用getText().toString()
从该`EditText'中检索数据。
此外,您需要将获得的String
转换为Integer
。为此,完整的语句将变为:
Integer.parseInt(edttext_ghaede.getText().toString());
祝你好运。
答案 3 :(得分:1)
edttext_ertefa=(EditText)findViewById(R.id.edttext_ertefa);
edttext_ghaede=(EditText)findViewById(R.id.edttext_ghaede);
btnmosalas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int input1=Integer.parseInt(edttext_ghaede.getText().toString().trim());
int input2=Integer.parseInt(edttext_ertefa..getText().toString().trim());
double masahat= input1 * input2/2;
}
});
也将其设置为您的xml ....
android:inputType="number"
答案 4 :(得分:0)
int input1=Integer.parseInt(edttext_ghaede.getText().toString());
答案 5 :(得分:0)
使用
从edittext获取值int input1=Integer.parseInt(eedttext_ertefa.getText().toString());
代替
int input1=edttext_ghaede.getInputType();
InputType用于限制用户输入文本/数字 像下面的代码设置输入类型编号。
editText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);