EditTextで「空の文字列例外」を回避する方法

アムトラック

2つの画面からなるシンプルなアプリケーションがあります。

最初に、EditTextビューとボタンがあります。

ユーザーがテキストを入力してボタンを押すと、メイン画面が変わり、ユーザーは入力した値と、前の宛先に戻るためのスイッチボタンを確認できます。

問題は、ユーザーが何も入力せずにボタンを押した場合です。「文字列が空です」という例外があります。

textChangedListenerを使用してみましたが、機能しません。最初の画面は、型付きの値を格納するためのViewModelオブジェクトとMutableLiveDataオブジェクトで構成されています。

コードは次のとおりです。

メインスクリーン:

public class MainFragment extends Fragment {

private MainViewModel mViewModel;

public static MainFragment newInstance() {
    return new MainFragment();
}

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                         @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.main_fragment, container, false);
}


@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    mViewModel = new ViewModelProvider(this).get(MainViewModel.class);


    // TODO: Use the ViewModel


    EditText editText = getView().findViewById(R.id.valueEntry);


    editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            return;
        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            mViewModel.setValue(Float.valueOf(editText.getText().toString()));
        }
        @Override
        public void afterTextChanged(Editable editable) {
            return;
        }
    });

    Button button = getView().findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

        MainFragmentDirections.MoveToSecond action = MainFragmentDirections.moveToSecond( );
        action.setVal(mViewModel.getValue());
        Navigation.findNavController(view).navigate(action);
        }
    });

}

ViewModelインスタンス:

public class MainViewModel extends ViewModel {



    private MutableLiveData<Float> value  = new MutableLiveData<>();


    public void setValue(Float c){value.setValue(c);}
    public Float getValue()
    {
            return  value.getValue();
    }
ニマオウジ

ユーザーがボタンを押したときにこのコードを使用します

if (!entered_sting.equals(""))
{
   // show text to other works
}

最初のボタン押下イベントでこれを使用します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「例外:Prelude.head:空のリスト」を回避する方法は?--Haskell

分類Dev

空の文字列区切り文字で文字列を分割する方法

分類Dev

文字列の連結で未定義を回避する方法は?

分類Dev

MySQLで特定の文字を回避する方法

分類Dev

Goで空の文字列を文字列分割する方法

分類Dev

EditTextで文字列の色を設定する方法

分類Dev

文字列から整数への変換の場合に無効な引数の例外を回避する方法

分類Dev

ajvで文字列の空の配列を検証する方法は?

分類Dev

Pythonの<class>で例外文字列を出力する方法

分類Dev

cppの例外を回避する方法は?

分類Dev

文字列配列内の空でない文字列の数を確認する方法

分類Dev

Javaで数値形式の例外を回避する方法は?

分類Dev

ParquetMemoryManager例外を回避する方法

分類Dev

T-SQL:このXMLでの文字列操作を回避する方法は?

分類Dev

awkで「文字列の改行」エラーを回避する方法はありますか?

分類Dev

文字列内の特殊文字を回避する方法

分類Dev

別のconst文字列を参照するconst文字列-読み取り専用なしでDRYを回避する方法

分類Dev

Goで空の文字列を初期化する慣用的な方法

分類Dev

SQLでNULLまたは空の文字列を使用する方法

分類Dev

OpenCSVで空の文字列とnullを区別する方法

分類Dev

Circeでnullを空の文字列にデコードする方法

分類Dev

`datenum`で空の文字列を処理する方法

分類Dev

AngularJSで空の文字列をチェックする方法は?

分類Dev

Erlangで空の文字列を印刷する方法

分類Dev

Countifで空の文字列を除外する方法

分類Dev

C ++で空の文字列を初期化する専門的な方法

分類Dev

文字列内で複数の文字列置換を行うときに変数の使用を回避する方法

分類Dev

空の入力を回避する方法

分類Dev

Talendのすべての列で空の文字列をnullに変換する方法

Related 関連記事

  1. 1

    「例外:Prelude.head:空のリスト」を回避する方法は?--Haskell

  2. 2

    空の文字列区切り文字で文字列を分割する方法

  3. 3

    文字列の連結で未定義を回避する方法は?

  4. 4

    MySQLで特定の文字を回避する方法

  5. 5

    Goで空の文字列を文字列分割する方法

  6. 6

    EditTextで文字列の色を設定する方法

  7. 7

    文字列から整数への変換の場合に無効な引数の例外を回避する方法

  8. 8

    ajvで文字列の空の配列を検証する方法は?

  9. 9

    Pythonの<class>で例外文字列を出力する方法

  10. 10

    cppの例外を回避する方法は?

  11. 11

    文字列配列内の空でない文字列の数を確認する方法

  12. 12

    Javaで数値形式の例外を回避する方法は?

  13. 13

    ParquetMemoryManager例外を回避する方法

  14. 14

    T-SQL:このXMLでの文字列操作を回避する方法は?

  15. 15

    awkで「文字列の改行」エラーを回避する方法はありますか?

  16. 16

    文字列内の特殊文字を回避する方法

  17. 17

    別のconst文字列を参照するconst文字列-読み取り専用なしでDRYを回避する方法

  18. 18

    Goで空の文字列を初期化する慣用的な方法

  19. 19

    SQLでNULLまたは空の文字列を使用する方法

  20. 20

    OpenCSVで空の文字列とnullを区別する方法

  21. 21

    Circeでnullを空の文字列にデコードする方法

  22. 22

    `datenum`で空の文字列を処理する方法

  23. 23

    AngularJSで空の文字列をチェックする方法は?

  24. 24

    Erlangで空の文字列を印刷する方法

  25. 25

    Countifで空の文字列を除外する方法

  26. 26

    C ++で空の文字列を初期化する専門的な方法

  27. 27

    文字列内で複数の文字列置換を行うときに変数の使用を回避する方法

  28. 28

    空の入力を回避する方法

  29. 29

    Talendのすべての列で空の文字列をnullに変換する方法

ホットタグ

アーカイブ