我希望用户输入深度并对其进行数学操作以获取 cost ,然后将其显示给用户。我该怎么做呢?(如果没有注意到,我不懂Java)。感谢。
private void estimateCost(View view){
EditText depth = findViewById(R.id.depth);
TextView cost = findViewById(R.id.cost);
String x = depth.getText().toString().trim();
cost.setText(x);
}
答案 0 :(得分:2)
您需要解析从EditText获取的String,然后执行一些操作。
private void estimateCost(View view){
EditText depth = findViewById(R.id.depth);
TextView cost = findViewById(R.id.cost);
String x = depth.getText().toString().trim();
// parse to a number, i.e. int
int depthValue = Integer.parseInt(x);
// calculate total cost
int totalCost = ...
cost.setText(String.valueOf(totalCost));
}
答案 1 :(得分:0)
您可以创建一个按钮来获取该值。例如:
<Button
android:id="@+id/bt_calc"
android:text="calc"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
然后你可以捕获click事件(把它放在onCreate方法中):
EditText depth = (EditText) findViewById(R.id.depth);
TextView cost = (TextView) findViewById(R.id.cost);
Button btCalc = (Button) findViewById(R.id.bt_calc);
int costValue;
btCalc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//in here you can
//get the depth from the EditText:
int depthValue = Integer.valueOf(depth.getText().toString());
//do the operations (example):
costValue = depthValue + 1;
//and display the cost in the TextView:
cost.setText(String.valueOf(costValue));
}
});
祝你好运!
答案 2 :(得分:0)
如果您的输入也包含字母,则不会使用Integer.parseInt()
使用此
int x = 0;
for (int i=0; i < str.length(); i++) {
char c = s.charAt(i);
if (c < '0' || c > '9') continue;
x = x * 10 + c - '0';
}