2015-06-10 5 views
-2

Я хотел бы иметь EditText, который отключен для ввода пользователем, но пользователь может щелкнуть по нему, чтобы открыть диалог.Отключить EditText в макете?

Так что я сделал следующее:

 <EditText android:id="@+id/select" android:layout_width="match_parent" 
      android:layout_height="wrap_content" android:hint="Click here" 
      android:maxLines="1" 
      android:editable="false" android:clickable="true" 
      android:singleLine="true" android:layout_marginTop="16dp" 
      android:onClick="openDialog" 
      android:enabled="true" /> 

Метод onCreateView является:

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

    return view; 
} 

Я использую EditText и не TextView, потому что я хотел бы показать подсказку и линии ниже текста.

Он частично работает, потому что когда edittext не сфокусирован, я должен щелкнуть его второй раз, чтобы открыть диалоговое окно.

Возможно ли это, чтобы пользователь мог щелкнуть один раз на нем, чтобы открыть диалоговое окно?

+0

разместит ваш 'метода openDialog' –

+0

«Я использую EditText, а не TextView, потому что я хотел бы показать подсказку и линию под текстом.» Вы можете легко подчеркнуть текст в Textview, почему так много боли? Следуйте: http://stackoverflow.com/questions/2394935/can-i-underline-text-in-an-android-layout – AnswerDroid

+0

@JibranKhan У меня только onCreateView. –

ответ

0

На самом деле существует намного лучший способ. Используйте TextView вместо этого, например:

 <TextView style="@android:style/Widget.EditText" 
      android:id="@+id/TextView01" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
     </TextView>