My app crashes when I click the button to delete a TextView, Button and LinearLayout. Here is the logcat report. It crashes right on when i want to removeView on line 118:
tasklayout.removeView(taskbutton);
05-19 14:35:58.222: E/AndroidRuntime(632): java.lang.NullPointerException
05-19 14:35:58.222: E/AndroidRuntime(632): at com.com.com.addtask.deltask(addtask.java:118)
05-19 14:35:58.222: E/AndroidRuntime(632): at com.com.com.addtask$2.onClick(addtask.java:65)
05-19 14:35:58.222: E/AndroidRuntime(632): at android.view.View.performClick(View.java:3511)
05-19 14:35:58.222: E/AndroidRuntime(632): at android.view.View$PerformClick.run(View.java:14105)
05-19 14:35:58.222: E/AndroidRuntime(632): at android.os.Handler.handleCallback(Handler.java:605)
Here is the onClickListner and the deltask void
Button delt = (Button) findViewById(R.id.btndelete1);
delt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
deltask(v);
}
});
public void deltask(View v) {
SharedPreferences datatask;
datatask = getSharedPreferences(filename, 0);
int tnum = datatask.getInt("tasknumber", 1);
int layoutnum = 1000 + tnum;
int textviewnum = 1100 + tnum;
int buttonviewnum = 1200 + tnum;
LinearLayout layout = (LinearLayout) findViewById(R.id.taskll);
LinearLayout tasklayout = (LinearLayout) findViewById(layoutnum);
TextView tasktv = (TextView) findViewById(textviewnum);
Button taskbutton = (Button) findViewById(buttonviewnum);
tasklayout.removeView(taskbutton);
tasklayout.removeView(tasktv);
layout.removeView(tasklayout);
}
someone help!
Chances are you are messing up the view ids and trying to find something that isn’t actually there. Instead of assigning ids programatically, it may be best to set tags instead and use
findViewByTag.