2016-09-17 2 views
-2


がクリック時にimageviewを隠すのはなぜですか。
xmlのimageviewには - > android:visibility = "visible"があります。
しかし、私がEditTextをクリックすると、可視性が削除されます。Edittextsはイメージビューを非表示にしません。

HideKeyboard.class:

public class HideKeyboard { 

    private boolean isKeyboardOpen = false; 
    private EditText editText; 

    public HideKeyboard(EditText editText) { 
     editText.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       isKeyboardOpen = true; 
      } 
     }); 
    } 

    public boolean getIsKeyboardOpen() { 
     return isKeyboardOpen; 
    } 

} 

FragmentDemo.class

private boolean isKeyboardOpen; 

    private HideKeyboard hideKeyboard; 
    private ImageView imageview; 
    private boolean isKeyboardOpen; 


    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.demo_fragment_, container, false); 

    imageview= (ImageView) view.findViewById(R.id.image); 

    isKeyboardOpen = false; 

    hideKeyboard= new HideKeyboard(edittext1); 
    hideKeyboard= new HideKeyboard(edittext2); 

    isKeyboardOpen = hideKeyboard.getIsKeyboardOpen(); 

    if (isKeyboardOpen) { 
      ivLogo.setVisibility(View.GONE); 
     } 
    } 

    return view; 
} 

}

答えて

1

いくつかの理由。

1)onKeyboardOpenはonCreateでのみチェックしています。 onCreate中にまだ編集テキストをクリックしていません。だからそれは隠れることはありません。クリックしても消えるようにするには、OnClickListenerに入れます。

2)hideKeyboardオブジェクトを上書きしているので、2番目の編集テキストのみをチェックします。チェックする場合は、複数のEditTextを取得するようにHideKeyboardクラスを変更するか、複数のHideKeyboardオブジェクトを使用してそれらのすべてを保存し、すべてをチェックします。

+0

お返事ありがとうございます。複数のeditextsを確認するにはどうしたらいいですか?例がありますか? –

+0

あなたはonclicklistenerを意味しますか? –

+0

あなたの隠しキーボードにあるもの。クリックするたびに何かしたいのであれば、それを行うためのコードがそこにある必要があります。または、キーボードが開いているかどうかのチェックをポーリングする必要があります。これは推奨されていません。 –

関連する問題