Witam stworzyłem PreferenceActivity, które ładuje wszystkie preferencje z R.xml.preferences i wyświetla je na liście R.layout.preference_list (prosty układ z jedynym elementem - listą).
Jedna z używanych preferencji korzysta z określonego layoutu
<EditTextPreference android:title="@string/auth_title" android:summary="@string/auth_summary" android:key="pass" android:defaultValue="1" android:layout="@layout/preference_auth" android:hint="Enter password"/>
gdzie kluczowym dla niniejszego pytania fragmentem kodu jest
<ImageView android:id="@+id/iconSelected" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5dp" android:paddingLeft="10dp" android:layout_alignParentRight="true" android:src="@drawable/ic_action_no" />
Opisuje to ikonę po prawej stronie. Lewa strona to domyślna klikalna preferencja, która otwiera obszar EditText
Chcę teraz programatycznie zmienić źródło obrazka, który jest wyświetlony przy starcie tego Activity (tak naprawdę kiedy EditText pasuje do określonego stringa ale uprośćmy to maksymalnie)
EditTextPreference editPref; ImageView icon; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); setContentView(R.layout.preference_list); editPref = (EditTextPreference) getPreferenceScreen().findPreference("pass"); icon = (ImageView)getLayoutInflater().inflate(editPref.getLayoutResource(), null).findViewById(R.id.iconSelected); icon.setImageResource(R.drawable.ic_action_yes); }
Kod jednak nie działą. Obraz pozostaje nienaruszony. Gdzie leży problem?