귀하의 질문은 매우 추상적이어서 구체적인 답변을 드릴 수는 없습니다.
나는 약간의 지침과 예제를 제공 할 수 있습니다.동적 환경 설정 (CheckboxPreference와 EditTextPreference 교체)를 추가
예
그 전에 파일의 목록을 얻을 :
SettingsActivity (PreferenceActivity를 확장)
private void setHomeDirectoryPreference(String home_dir)
{
final EditTextPreference etp = new EditTextPreference(this);
etp.setKey("home_directory");
etp.setTitle("Home directory");
//...
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
((PreferenceScreen) findPreference("initial_preference")).addPreference(etp);
}
목록을 파일 서브 파일 :
file.listFiles();
또한 기본 파일 존재 : 당신이 그것을 클릭하면
f.exists();
내가 PreferenceScreen의 서브 디렉토리를로드 할 필요
나는 그것이 PreferenceDialog 및 ListView를 사용하여이 작업을 수행 할 personaly 것 :
을 DialogPreference의 예 :
public class HiddenFilesDialogPreference extends DialogPreference {
public static Context ctx;
public HiddenFilesDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
this.ctx = context;
}
@Override
protected View onCreateDialogView() {
LayoutInflater inflater = ((Activity) ctx).getLayoutInflater();
View vw = inflater.inflate(R.layout.content_view, null);
ListView lv = (ListView) vw.findViewById(android.R.id.list);
File[] hidden_files = HiddenFileHandler.getAllHiddenFilesAsFiles();
HiddenFilesListAdapter adapter = new HiddenFilesListAdapter(ctx, hidden_files);
lv.setAdapter(adapter);
return vw;
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
persistBoolean(positiveResult);
}
@Override
public void onClick (DialogInterface dialog, int which)
{
super.onClick(dialog, which);
Log.v("which", Integer.toString(which));
if(which == -1) { //Clear all
HiddenFileHandler hfh = new HiddenFileHandler(ctx);
hfh.clearHiddenFiles();
}
}
}
그런 다음 대화 상자에서 대화 내용 등을 대체하기 위해 onClickListeners()를 설정할 수 있습니다.
구체적인 구현으로 시작한 다음 더 구체적인 질문으로 돌아갑니다.
고맙다. 나는 이것을 시험해보고 거기에서 가져갈 것이다. – Harry
이 대답을 유용하게 사용하면이를 수락 할 수 있습니다. 감사. – Tool
여전히 알아 낸 부분,이 부분에 대해 잘 모름 LayoutInflater inflater = ((Activity) ctx) .getLayoutInflater(); – Harry