java - 从警报中设置 TextView 的值

标签 java android android-fragments nullpointerexception

我有一个带有 TextView 的 fragment (带有 3 个选项卡的 ActionBar Activity)
还有一个打开Alert的Button,其中有Button和EditText
我想做的是,当单击按钮时,将 fragment 的 TextView 的值设置为警报的 EditText 的值。
这是我尝试做的(我向您展示的方法是在 MAinActivity 中而不是在 Fragment 中):

    public void showTimePicker(Button but) {

        final Dialog dialog = new Dialog(this);
        final TimePicker t;

        dialog.setContentView(R.layout.alert_time);
        dialog.setTitle("Heure");

        Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);

        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                TimePicker t = (TimePicker) dialog.findViewById(R.id.time_cri);

                /* THIS LINE MAKE A NULLPOINTEREXCEPTION */
                time.setText(getSelectedTime(t)); /* GET THE TIME FROM TIMEPICKER */
                dialog.dismiss();
            }
        });

        CriFragment f = (CriFragment) mSectionsPagerAdapter.getItem(2);
        time = f.getTextView(); /* GETTER OF THE TEXTVIEW I'D LIKE TO SET */

        dialog.show();
    }

我指出的行产生了 nullPointerException(在 onClick() 处)
感谢您的阅读!

最佳答案

您必须获取 TextView“时间”。因为 TextView“时间”未初始化。您可以使用dialog.findViewById,而不是f.getTextView。

关于java - 从警报中设置 TextView 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25012893/

相关文章:

java - Android Slider 中的 NoClassDefFoundError 错误

java - ClassCastException:使用 DialogFragment 时应用程序崩溃

java - 在少数特定情况下丢失的日志消息

java - 联系方式已返回两次

java - 如何对ArrayList中的数组进行排序?

android - PreferenceCategory 自动重置行为中的奇怪 SwitchPreference

android - 修复下载完成后出现的 ProgressDialog

android - ListView收不到点击事件

java - 想要访问 firebase cloud firestore 但存在运行时错误

java - 使用 maven gwt 插件运行 GWTTestCase 时出错