2014-09-28 131 views
1

我想禁用(不显示)对话框,当我在首选项活动中单击EditTextPreference时。Android EditTextPreference禁用对话框

当我点击EditTextPreference时,弹出一个对话框显示。现在我想禁用这个。我尝试设置一个onclicklistener,但对话框显示相同。

public class Settings extends PreferenceActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.settings);  
    EditTextPreference userName=(EditTextPreference) findPreference("prefUsername"); 
    userName.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 

      return false; 
     } 
    }); ... 

我尝试将此添加到EditTextPreference:android:clickable =“false”,但没有。

+0

你应该添加一些代码的,以显示你究竟尝试了什么? – TheMohanAhuja 2014-09-28 16:39:44

+0

嗨!我用一些代码更新了我的问题。 – lumoss 2014-09-28 16:57:32

回答

6

禁用它。

使用

android:enabled="false" 
在XML

。或者在运行时实际上禁用,

userName.setEnabled(false); 

,如果你不想要一个对话框,你应该使用简单的Preference代替EditTextPreference

+1

嗨!谢谢!我只使用偏好,并工作。谢谢。 – lumoss 2014-09-29 08:20:01

2

尝试更换

EditTextPreference 

Preference 

所以你的代码会是这样

<Preference 
     android:selectAllOnFocus="true" 
     android:singleLine="true" 
     android:title="Version " 
     android:key="edit_text_preference_1" 
     android:summary="1.0" 
     android:enabled="true" /> 

希望这有助于你