- Forum-Beiträge: 15
31.07.2014, 18:14:26 via Website
31.07.2014 18:14:26 via Website
Hallo zusammen,
ich arbeite zur Zeit an einer App, die 2 Tabs beinhaltet. Der eine Tab beinhaltet ein ListView. Daher habe ich das entsprechende Fragment mit ListFragment vererbt um Zugriff auf die entsprechenden Methoden zu haben.
Nun stürzt die App allerdings immer ab.
Wenn ich aus dem ListFragment nur ein Fragment mache und den entsprechenden Code auskommentiere, der nicht funktioniert ohne ein ListFragment, stürzt die App nicht ab.
Ich poste hier den relevanten Code.
Ich würde mich über eine Antwort freuen.
Danke schon einmal im Vorraus.
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class
// below).
if (position == 0) {
return new PersonFragment();
} else {
return new SettingsFragment();
}
}
@Override
public int getCount() {
// Show 2 total pages.
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return getString(R.string.tab_persons).toUpperCase(l);
case 1:
return getString(R.string.tab_settings).toUpperCase(l);
}
return null;
}
}
public static class PersonFragment extends ListFragment {
/**
* The fragment argument representing the section number for this
* fragment.
*/
private static final String ARG_SECTION_NUMBER = "section_number";
/**
* Returns a new instance of this fragment for the given section number.
*/
public static PersonFragment newInstance(int sectionNumber) {
PersonFragment fragment = new PersonFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public PersonFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_person,
container, false);
setListAdapter(adapter);
rootView.findViewById(R.id.btn_add).setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
EditText edit = (EditText) rootView.findViewById(R.id.edittxt);
list.add(edit.getText().toString());
edit.setText("");
adapter.notifyDataSetChanged();
}
});
rootView.findViewById(R.id.btn_del).setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int itemCount = getListView().getCount();
for(int i=itemCount-1; i >= 0; i--) {
if(checkedItemPositions.get(i)) {
adapter.remove(list.get(i));
}
}
checkedItemPositions.clear();
adapter.notifyDataSetChanged();
}
});
return rootView;
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.