Я думаю, что если вы собираетесь вызывать findViewById () из объявления clickListener, вам придется использовать вашу активность. Это явно, например так:
Button b4=(Button)YourActivity.this.findViewById(R.id.button_weather10);
В противном случае я думаюпопытаемся вызвать метод findViewById () класса OnClickListener, который не существует.
Также кажется, что вы должны пытаться вызывать setContentView () более одного раза.У вас есть
setContentView(R.layout.id_weather);
в вашем прослушивателе кликов для b2.Но если вы еще не установили контент, у вас не будет кнопки для нажатия.И если вы уже установили контент один раз, то второй должен потерпеть неудачу.Вы можете вызывать setContentView () только тогда, когда я думаю.