

OnFocusChangeの中で、入力された文字列を調べてエラーチェックを行い  
エラーだったら元の文字列に戻したいです。  
OnFocusChangeの引数のViewから文字列を  
取得することはtoString()を用いて出来ました。  
Viewに文字列を設定するにはどうしたら良いのでしょうか？

[code]

    public void onFocusChange (View v,boolean hasFocus){
    
        String str_save="";
        if (hasFocus){
            str_save = v.toString();
        }else{
            //エラーかチェック
            if(isError(v.toString())){
                //エラーだったら,str_saveに保存した文字列をvに設定したい。<-ここが分からないです。
            }
        }
                
    }
    
[/code]


CC BY-SA 4.0
2020-10-16T13:42:11.460
71258
2020-10-17T09:53:54.653
2020-10-17T09:53:54.653
42345
42345
question
java android
onFocusChangeの中でView に文字列を設定するには？


[自己回答]  
大変申し訳ありません。toStringで値が取れているというのは間違いでした。  
以下のようにfindViewByIdを用いて解決しました。

[code]

    String str_save="";
    public void onFocusChange (View v,boolean hasFocus){
    
        String str_value;
        EditText mText = (EditText) v.findViewById(リソースのID);
        str_value = mText.getText().toString();
      
        if (hasFocus){
            str_save = str_value;
        }else{
            //エラーかチェック
            if(isError(str_value )){
                mText.setText(str_save);
            }
        }
                
    }
    
[/code]


CC BY-SA 4.0
2020-10-17T09:53:30.867
71277
2020-10-17T09:53:30.867
42345
71258
answer