2017-05-04 12 views
0

Edittext 대화 상자 표시를 클릭하십시오. 하지만 내 코드에서 EditText을 클릭하면 editText을 선택하고 키보드을 클릭하십시오. editText을 두 번 클릭 한 다음 내 을 표시하십시오.!안드로이드에서 클릭하면 editText를 열지 못하게 설정하는 방법

클릭하면 editText을 선택하지 않고 edittext을 선택하고 키보드를 표시하지 않습니다. 대화!

내 XML 코드 :

<android.support.design.widget.TextInputLayout 
     android:id="@+id/registerCountryInptLay" 
     style="@style/registerIptLytStyle" 
     app:hintAnimationEnabled="true"> 

     <EditText 
      android:id="@+id/registerCountryEdtTxt" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/loginCountry" 
      android:inputType="text" 
      android:paddingLeft="@dimen/padding10" /> 
    </android.support.design.widget.TextInputLayout> 

내가 editText 클릭 이벤트에 대한 코드 아래 연락처 :

@OnClick({R.id.registerCountryEdtTxt, R.id.registerCountryInptLay}) 
void selectCountry() { 

    final CountryPicker picker = CountryPicker.newInstance("Select Country"); // dialog title 
    picker.setListener(new CountryPickerListener() { 
     @Override 
     public void onSelectCountry(String name, String code, String dialCode, int flagDrawableResID) { 
      // Implement your code here 
      countryName = name; 
      if (!countryName.isEmpty() && countryName != null) { 
       countryList.setText(countryName); 
      } 
      picker.dismiss(); 
     } 
    }); 
    picker.show(getSupportFragmentManager(), "COUNTRY_PICKER"); 
} 

어떻게 내가 할 수있는?

답변

0

그냥 글고 치기에 속성 아래 추가

android:focusable="false" 
android:focusableInTouchMode="false" 
android:clickable="true" 

그래서 코드를 다음과 같이 보일 것이다 :

<EditText 
     android:id="@+id/registerCountryEdtTxt" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/loginCountry" 
     android:inputType="text" 
     android:focusable="false" 
     android:focusableInTouchMode="false" 
     android:clickable="true" 
     android:paddingLeft="@dimen/padding10" /> 
</android.support.design.widget.TextInputLayout> 
0

는 당신의 OnClick 방법 당신이 추가 시도 할 수

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
+0

덕분에 내 친구를 확인하지만,이 코드를 초기화하지 의미합니다. 나는이 코드를 활동에 사용하고 싶다. –

+0

이것은 소프트 키보드를 액티비티 안에 숨기려는 것입니다. 보기 용 (보기보기 = getCurrentFocus();) –

0

이 코드를 확인하십시오 .. 저는 ButterKnife를 사용하고 있다고 생각합니다. `view.getWindowToken()`:

registerCountryEdtTxt= (EditText) findViewById(R.id.registerCountryEdtTxt); 


    registerCountryEdtTxt.setClickable(true); 
    registerCountryEdtTxt.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      void selectCountry() 
     } 
    }); 


    void selectCountry() { 

     final CountryPicker picker = CountryPicker.newInstance("Select Country"); // dialog title 
     picker.setListener(new CountryPickerListener() { 
      @Override 
      public void onSelectCountry(String name, String code, String dialCode, int flagDrawableResID) { 
       // Implement your code here 
       countryName = name; 
       if (!countryName.isEmpty() && countryName != null) { 
        countryList.setText(countryName); 
       } 
       picker.dismiss(); 
      } 
     }); 
     picker.show(getSupportFragmentManager(), "COUNTRY_PICKER"); 
    } 
0

당신은 버터 나이프를 사용하는 경우이 하나

<android.support.design.widget.TextInputLayout 
     android:id="@+id/registerCountryInptLay" 
     style="@style/registerIptLytStyle" 
     app:hintAnimationEnabled="true"> 

     <EditText 
      android:id="@+id/registerCountryEdtTxt" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/loginCountry" 
      android:inputType="text" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:clickable="true" 
      android:paddingLeft="@dimen/padding10" /> 
    </android.support.design.widget.TextInputLayout>