0
私はアンドロイドアプリのEditTextフィールドを検証したいと思います。フィールドはスピナーです。プロンプトは.xmlで定義されています。コンソールに出力すると正しく表示されます。しかし、トーストの構造の一部は、メソッド内で、スピナーのアドレスがなくプロンプトよりも印刷されている場合:方法を介してスピナーのプロンプトを取得するには?
:public static boolean spinnerValidated(Spinner spinner) {
return spinner.getSelectedItemPosition()==(0);
}
、メインクラスの呼び出しは次のとおり検証クラスの スピナー検証
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>
あなたはxmlを表示します。あなたのコードはうまくいくようです。 –
私はちょうどそれを追加しました、ありがとう! – user6456773
このコードはうまくいくはずです。私はそれで間違ったものは見つけられません。 –