2012-07-24 2 views
0

res/anim 폴더의 내용으로 ListPreference를 채우려고하지만 빈 채로 남아있는 문제가 있습니다. 채울 문자열의 정적 배열이 있습니다. 동적 인 것이 필요합니다. logcat에 텍스트를 인쇄 할 수 있습니다. 목록을 채우지 않으면 텍스트를 인쇄 할 수 있습니까? 당신의 도움이동적으로 ListPreference를 채우기

답변

0

에 대한

PreferenceActivityMenu.java

 CharSequence[] entries = null; 
     CharSequence[] entryValues = null; 


    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 


    SharedPreferences prefs=getPreferences(Context.MODE_PRIVATE); 

    ListPreference prefListAnim = new ListPreference(this); 

    listAnim(); 

    prefListAnim.setEntries(entries); 

    prefListAnim.setEntryValues(entryValues); 


    } 

@Override 
public boolean onPreferenceClick(Preference preference) { 
    // TODO Auto-generated method stub 
    return false; 
} 

public void listAnim() { 
    Field[] fields = R.anim.class.getFields(); 
    entries = new String[fields.length]; 
    entryValues = new String[fields.length]; 

    for (int count = 0; count < fields.length; count++) { 
     Log.i("Raw Asset: ", fields[count].getName()); 
     entries[count] = fields[count].getName(); 

     entryValues[count] = Integer.toString(count); 


    } 
} 

및 preference.xml

<PreferenceCategory android:title="Animation Transitions" > 


    <ListPreference 

     android:dialogTitle="@string/prefsList_dialogTitle" 
     android:key="prefList_animations" 
     android:summary="@string/prefsList_summary" 
     android:title="@string/prefsList_title" > 
    </ListPreference> 
</PreferenceCategory> 

덕분에 당신은 XML로 선언 된 것과 다른 기호에 목록 데이터를 설정합니다. 그러나

ListPreference prefListAnim = new ListPreference(this); 

를 사용하면 XML에 선언 된 (비어 있음) 하나를 표시하고 : 현재 당신은 새로 ListPreference 생성에 대한 데이터를 설정하고 있습니다. 당신은 하나 또는 다른 하나를해야합니다. 예를 들어, 가장 쉬운 해결책은 대신 XML에서 기본 설정을 부풀려 위의 변경 아마 : 나는 시작하는 찾기 선호와 방법을하고 있던 당신의 도움에 대한

ListPreference prefListAnim = (ListPreference) findPreference("prefList_animations"); 
+0

감사합니다,하지만 난 계속 때문에에 이동 diff 방법을 시도, 내 xml 'android : dialogMessage = "choose"'내가이 코드를 모두 제거했을 때 괜찮 았던 이유를 모르겠다. –

관련 문제