从警报设置TextView的值

时间:2014-07-29 10:11:45

标签: java android android-fragments nullpointerexception

我有一个带有TextView的Fragment(带有3个选项卡的ActionBar Activity) 还有一个打开警报的按钮,其中有Button和EditText
我想要做的是,当点击按钮时,将Fragment的TextView的值设置为Alert的EditText的值。
这是我试图做的(我告诉你的方法是在MAinActivity而不是片段中):

    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()上) 谢谢你的阅读!

1 个答案:

答案 0 :(得分:0)

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