英文:
How can i return TextView(id) as double?
问题
TextView 布局
mTextValue = (TextView) findViewById(R.id.amount2);
要在另一个私有函数中实现类似以下的操作:
double amount = Double.parseDouble(mTextValue.getText().toString());
XML
<TextView
android:id="@+id/amount2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:hint="金额"
android:inputType="number"
android:text="15"
android:textColor="@android:color/black"
android:textSize="24sp"
app:layout_constraintStart_toEndOf="@+id/Total"
app:layout_constraintTop_toTopOf="@+id/Total" />
我想要获取这个 TextView 并将其作为 double 使用,然后返回 (return amount2 * 100);
英文:
TextView layout
mTextValue = (TextView) findViewById(R.id.amount2);
To be able to get like this in another private void:
double amount= mTextValue;
XML
<TextView
android:id="@+id/amount2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:hint="amount"
android:inputType="number"
android:text="15"
android:textColor="@android:color/black"
android:textSize="24sp"
app:layout_constraintStart_toEndOf="@+id/Total"
app:layout_constraintTop_toTopOf="@+id/Total" />
I want to get the TextView and use it as double and return to be (return amount2 * 100);
答案1
得分: 1
你可以将TextView
的值作为String
获取。您需要将其解析为双精度浮点数。
Double.valueOf(mTextValue.getText());
您需要确保TextView
中的文本是双精度浮点数,否则此方法会抛出异常。
英文:
You get the value of TextView
as String
. You need to parse it into double.
Double.valueOf(mTextValue.getText());
You need to make sure the text in the TextView
is a double, otherwise this method throws an exception.
答案2
得分: 1
代替使用TextView
,使用EditText
来从用户获取输入:
<EditText
android:id="@+id/amount2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:hint="amount"
android:inputType="number"
android:text="15"
android:textColor="@android:color/black"
app:layout_constraintStart_toEndOf="@+id/Total"
app:layout_constraintTop_toTopOf="@+id/Total" />
然后使用以下代码来获取用户输入的值:
final EditText amountEt = findViewById(R.id.amount2); // 查找编辑框
final String userInput = amountEt.getText().toString(); // 获取编辑框中输入的值
double amount;
if (!userInput.isEmpty()) {
try {
amount = Double.parseDouble(userInput);
// 在这里进行你的计算和其他操作
} catch (Exception e) {
e.printStackTrace();
}
} else {
// 显示空输入提示信息
}
英文:
Instead of using TextView
use EditText
to take input from a user:
<EditText
android:id="@+id/amount2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:hint="amount"
android:inputType="number"
android:text="15"
android:textColor="@android:color/black"
app:layout_constraintStart_toEndOf="@+id/Total"
app:layout_constraintTop_toTopOf="@+id/Total" />
And then to get the user input value use:
final EditText amountEt = findViewById(R.id.amount2); // find the edit text
final String userInput = amountEt.getText().toString(); // get the edittext value entered
final double amount;
if(!userInput.isEmpty()) {
try {
amount = Double.parseDouble(userInput);
// do your calculations here and other stuffs
} catch (Exception e) {
e.printStackTrace();
}
} else {
// show empty input message
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论