2014-12-14 4 views
0

Как я могу получить ссылку на мою EditTextPreference в своем основном действии?Как получить ссылку EditTextPreference в основной активности android

Я попытался это:

EditTextPreference mEditTextPref =(EditTextPreference) findPreference(incrementby); 

но его дает мне эту ошибку;

incrementby cannot be resolved to a variable 

Это код EditTextPreference

 android:defaultValue="1" 
     android:inputType="number" 
     android:key="incrementby" 
     android:maxLength="3" 
     android:summary="Set the incremental value of the counter" 
     android:title="Increase Count by" /> 

После получения ссылки на EditTextPreferece, что я хочу сделать, это использовать эту ссылку, чтобы установить значение EditTextPreferece в моей основной деятельности , Что-то вроде;

mEditTextPref.setText("1"); 
+0

is 'mEditTextPref.setText (" 1 ");' предоставление исключения для исключения нулевого указателя? –

+0

nvm, я понял. Спасибо за вашу помощь. –

ответ

0

ошибка говорит: это не переменная! то есть «icrementby» не является переменной и ожидаемой строкой! поэтому заключите его в двойные кавычки («incrementby»).

EditTextPreference mEditTextPref =(EditTextPreference) findPreference("incrementby"); 

EDIT

создать локальную переменную в вашей деятельности:

Context mContext; 

и в OnCreate, сделать:

mContext=getBaseContext(); 

затем использовать

EditTextPreference mEditTextPref =(EditTextPreference) mContext.findPreference("incrementby"); 
+0

теперь он говорит Метод findPreference (String) не определен для типа MainActivity –

+0

отредактировал ответ, посмотрите его и попробуйте в своем коде –

+0

Я пытаюсь использовать его так, как это mEditTextPref.setText ("1"); но он не работает. Он не дает никаких ошибок, но приложение закрывается. –