ボタンをlinearLayoutに追加しようとしています:
public void populateAlarmLayout() {
Log.d("Array", alarmButtons.size() + "");
alarmLayout = (LinearLayout)findViewById(R.id.alarmlayout);
for(int i = 0; i < alarmButtons.size(); i++) {
selectedButton = new Button(this);
selectedButton.setId(i+1);
selectedButton.setWidth(150);
selectedButton.setHeight(150);
selectedButton.setTextSize(10);
selectedButton.setText(alarmButtons.get(i));
selectedButton.setOnClickListener(new ClickListener());
selectedButton.setOnLongClickListener(new LongClickListener());
alarmLayout.addView(selectedButton);
}
}
nullpointer
最後の行で例外が発生し続けますalarmLayout.addView(selectedButton)
The alarmlayout
is specified in alarm.xml
but my current contentView
is set at main_activity.xml
. ここに問題があると確信していますが、修正方法がわかりません。
を使用しているPagerAdapter
ので、それも問題になる可能性があります。そのためのコードは次のとおりです。
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.main;
break;
case 1:
resId = R.layout.music;
break;
case 2:
resId = R.layout.alarm;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
}