如何通过方法获取微调器的提示?
How to get the prompt of a spinner via method?
我想验证我的 android 应用程序中的 EditText 字段。该字段是微调器。提示在.xml 中定义。如果我在控制台中输出它,它会正确显示。但是,当作为 Toast 结构的一部分时,在一个方法中,将打印微调器的地址而不是提示:
验证中的 Spinner 验证 class:
public static boolean spinnerValidated(Spinner spinner) {
return spinner.getSelectedItemPosition()==(0);
}
主要是调用class:
private void validateSpinner(Spinner spinner) {
if (Utility.spinnerValidated(spinner)) {
Toast.makeText(getApplicationContext(),
"Invalid data for field " + spinner.getPrompt().toString(),
Toast.LENGTH_LONG).show();
}
}
调用方法:
validateSpinner(spinner);
微调器xml:
<Spinner
android:id="@+id/spinner"
style="@style/spinner"
android:background="@drawable/edit_text_rectangle"
android:spinnerMode="dialog"
android:prompt="@string/subcategory"/>
风格:
<style name="spinner">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">12dp</item>
<item name="android:layout_marginRight">12dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
</style>
Toast
不需要全局应用程序上下文。此 Toast
的范围仅适用于 Activity.
将您的上下文从 getApplicationContext()
更改为 YourActivty.this
。
我想验证我的 android 应用程序中的 EditText 字段。该字段是微调器。提示在.xml 中定义。如果我在控制台中输出它,它会正确显示。但是,当作为 Toast 结构的一部分时,在一个方法中,将打印微调器的地址而不是提示: 验证中的 Spinner 验证 class:
public static boolean spinnerValidated(Spinner spinner) {
return spinner.getSelectedItemPosition()==(0);
}
主要是调用class:
private void validateSpinner(Spinner spinner) {
if (Utility.spinnerValidated(spinner)) {
Toast.makeText(getApplicationContext(),
"Invalid data for field " + spinner.getPrompt().toString(),
Toast.LENGTH_LONG).show();
}
}
调用方法:
validateSpinner(spinner);
微调器xml:
<Spinner
android:id="@+id/spinner"
style="@style/spinner"
android:background="@drawable/edit_text_rectangle"
android:spinnerMode="dialog"
android:prompt="@string/subcategory"/>
风格:
<style name="spinner">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">12dp</item>
<item name="android:layout_marginRight">12dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
</style>
Toast
不需要全局应用程序上下文。此 Toast
的范围仅适用于 Activity.
将您的上下文从 getApplicationContext()
更改为 YourActivty.this
。