0

got a problem with changing the text of a text view in a PopUp Window.

Simple Version of the code looks like this:

public class Activity extends Activity {


View popupView;
PopupWindow pw_info;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_menue);



    // Layout components
    tv_function = (TextView) findViewById(R.id.function);
    tv_result = (TextView) findViewById(R.id.tv_result);
    tv_total = (TextView) findViewById(R.id.tv_total_result);

    });



@Override
protected void onStart(){
    super.onStart();
    pop_up();
}



// PopUp Window for start and end
private void pop_up(){

    LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
    popupView = layoutInflater.inflate(R.layout.popup_window, null);
    final PopupWindow pw_popupWindow = new PopupWindow(popupView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);


    popupView.post(new Runnable() {
        public void run() {
            pw_popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0);
            tv_function.setText("start");
            tv_popup = (TextView) findViewById(R.id.tv_popup_text);


            new CountDownTimer(3000, 1000) {

                public void onTick(long l_millisUntilFinished) {
                    // Problem: accessing tv_popup creates NULLPOINTER Exception!
                    tv_popup.setText(String.valueOf(l_millisUntilFinished / 1000));
                }

                public void onFinish() {
                    pw_popupWindow.dismiss();
                                  }

            }.start();


            }
    });

}

I try to change the TextView with every tick of the countdown. My problem is that im not able to change the TextView during the CountDownTimer. This causes NullPointer Exception. Im not really sure about when to define and initialise the tv_popup TextView.

Anybody able to help?

Thanks!

Ingo K.
  • 79
  • 11
  • try using `tv_popup = (TextView) popupView.findViewById(R.id.tv_popup_text);` also... where do you initialize your tv_popup – Helix Feb 26 '16 at 18:45

2 Answers2

2

as clearly Seen you are using textview in pop window with a layout

So You need to add the popupView object when you are definifing its ID

 tv_popup = (TextView) popupView.findViewById(R.id.tv_popup_text);

Try This

Quick learner
  • 10,632
  • 4
  • 45
  • 55
0

You have to initialize your all view with the popup object, so your code should be like

tv_popup = (TextView) popupView.findViewById(R.id.tv_popup_text);
Nils
  • 647
  • 6
  • 16