相关疑难解决方法(0)

324
推荐指数
10
解决办法
24万
查看次数

如何在对话框中获取动态加载(setView)布局的元素(findViewById)?

我需要获取在xml布局中定义的EditText,该布局在首选项对话框中作为视图动态加载,即:

public class ReportBugPreference extends EditTextPreference {

    @Override
    protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
        super.onPrepareDialogBuilder(builder);   
        builder.setView(LayoutInflater.from(ctx).inflate(R.layout.preference_report_bug_layout,null));
        EditText edttxtBugDesc = (EditText) findViewById(R.id.bug_description_edittext); // NOT WORKING
    }

}
Run Code Online (Sandbox Code Playgroud)

编辑:解决方案由jjnFord

@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
    super.onPrepareDialogBuilder(builder);  

    View viewBugReport = LayoutInflater.from(ctx).inflate(R.layout.preference_report_bug,null);
    EditText edttxtBugDesc = (EditText) viewBugReport.findViewById(R.id.bug_description_edittext);

    builder.setView(viewBugReport);



}
Run Code Online (Sandbox Code Playgroud)

android preferenceactivity android-layout android-edittext

14
推荐指数
2
解决办法
3万
查看次数