Мое приложение имеет два отдельных представления, которые изначально были разделены с помощью TabHost.Я решил переключиться на ViewPager, чтобы сделать приложение более визуально привлекательным.
Но теперь приложение вылетает, как только оно запускается.Теперь, если я закомментирую все строки, касающиеся виджетов и массивов счетчиков, то все будет хорошо, но я не могу понять, почему они вызывают какие-то проблемы.Они отлично работали с настройкой TabHost.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//context.startService(serviceIntent);
startService(new Intent(this, MY_Service.class));
setContentView(R.layout.main);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.wedgpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}
Класс PagerAdapter:
В live_view есть только одна кнопка, для которой прослушиватель onClick определен в другом месте.
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 2;
}
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.live_view;
break;
case 1:
resId = R.layout.pod_view;
// Capture the textview elements
mCurrentDate = (TextView) findViewById(R.id.currentdateDisplay);
mSelectedDate = (TextView) findViewById(R.id.selecteddateDisplay);
TextTotalTime = (TextView) findViewById(R.id.TotalTimeText);
TextCurrentTime = (TextView) findViewById(R.id.CurrentTimeText);
// Retrieve the current date
Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
Spinner datespinner = (Spinner) findViewById(R.id.spinnerdate);
ArrayAdapter<CharSequence> dateadapter = new ArrayAdapter<CharSequence>(app_Live.this, android.R.layout.simple_spinner_item);
dateadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
int ArrayMarker = 0;
for (int podtest = 1; podtest < 15; podtest++) {
MakeDateList(podtest);
if (dayOfWeek != (1|7)) {
podFileTest = cMonthName + " " + cDay + ", " + cYear;
podDatesName[ArrayMarker] = podFileTest;
String cYearTemp = cYear + "";
String cMonthTemp = cMonth + "";
if (cMonth < 10) {
cMonthTemp = cMonthTemp.replace("0", "");
cMonthTemp = "0" + cMonthTemp;
}
if (cDay > 9) {
podDates[ArrayMarker] = (cMonthTemp + "" + cDay + "" + cYearTemp.replace("20", ""));
}
if (cDay <= 9) {
podDates[ArrayMarker] = (cMonthTemp + "" + "0" + cDay + "" + cYearTemp.replace("20", ""));
}
ArrayMarker++;
}
if (dayOfWeek == (1|7) && (ArrayMarker > 0)) {
ArrayMarker--;
}
}
for (int buildtext = 0; buildtext < 10; buildtext++) {
dateadapter.add(podDatesName[buildtext]);
}
/* datespinner.setAdapter(dateadapter);
Spinner hourspinner = (Spinner) findViewById(R.id.spinnerhour);
ArrayAdapter<CharSequence> houradapter = ArrayAdapter.createFromResource(app_Live.this, R.array.hour_array, android.R.layout.simple_spinner_item);
houradapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
hourspinner.setAdapter(houradapter);
// Display the current date under "Today's Date" at the top
updateCurrentDate();
datespinner.setOnItemSelectedListener(new DateOnItemSelectedListener());
hourspinner.setOnItemSelectedListener(new HourOnItemSelectedListener());
Button podplaybutton = (Button)findViewById(R.id.button_pod_play);
//podplaybutton.setOnClickListener(this);*/
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
Это первая ошибка LogCat:
01-16 22: 13: 24.279: W / dalvikvm (20182): threadid = 1: поток завершается с необработанным исключением (группа = 0x40a461f8) 01-1622: 13: 24.384: E / AndroidRuntime (20182): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной 01-16 22: 13: 24.384: E / AndroidRuntime (20182): android.content.res.Resources $ NotFoundException: идентификатор ресурса # 0x0 01-1622: 13: 24.384: E / AndroidRuntime (20182): на android.content.res.Resources.getValue (Resources.java:1019) 01-16 22: 13: 24.384: E / AndroidRuntime (20182): на android.content.res.Resources.loadXmlResourceParser (Resources.java:2107)