gpt4 book ai didi

android - 从 DialogPreference 获取对布局的引用

转载 作者:太空狗 更新时间:2023-10-29 13:29:04 24 4
gpt4 key购买 nike

我有一个包含自定义 DialogPreference 的首选项屏幕:

<com.company.project.AboutDialog
android:key="about_dialog"
android:icon="@drawable/logo"
android:title="About Company Project"
android:summary="Version information"
android:dialogLayout="@layout/about_dialog"
android:negativeButtonText=""
/>

如您所见,我正在使用 dialogLayout 属性将布局应用于此自定义对话框。我想从我的 DialogPreference 中获取对此布局中的 TextView 的引用,但我不确定从哪里获取它:

public class AboutDialog extends DialogPreference {

@Override
protected void onPrepareDialogBuilder(Builder builder) {
// Hide the title from the dialog
builder.setTitle(null);
super.onPrepareDialogBuilder(builder);
/*
* Where do I find a context for findViewById?
* ((TextView)findViewById(R.id.version)).setText("Hello, world");
*/
}

public AboutDialog(Context context, AttributeSet attrs) {
super(context, attrs);
}

}

最佳答案

再谷歌搜索后找到了它。我需要覆盖 onBindDialogView 方法:

@Override
protected void onBindDialogView(View view) {
String packageName = getContext().getPackageName();
try {
((TextView)view.findViewById(R.id.textView2))
.setText(getContext().getPackageManager().getPackageInfo(packageName, 0).versionName);
} catch (PackageManager.NameNotFoundException e) {
Log.w("Project", "Couldn't find version name information for about dialog");
e.printStackTrace();
}
super.onBindDialogView(view);
}

关于android - 从 DialogPreference 获取对布局的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18074340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com