Używam biblioteki AppCompat (com.android.support:appcompat-v7:22.1.0) w mojej aplikacji. Stworzyłem ActionBar w fragmencie. Kiedy klikam w pozycję menu, pokazuje się okno alarmowe. Tu jest mój kodu:Na LayoutInflater działania jest już zainstalowana Fabryka, więc nie możemy zainstalować AppCompat's
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_new:
showFilterDialog();
return true;
case R.id.action_send:
new sendInventoryTask().execute();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
I moja metoda showInventoryDialog:
private void showFilterInventoryDialog() {
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
LayoutInflater inflater= getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.dialog_filter_inventory,null);
alert.setView(v);
alert.setTitle(getResources().getString(R.string.filters));
alert.setPositiveButton(getResources().getString(R.string.filter), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// TODO
}
});
alert.setNegativeButton(getResources().getString(R.string.cancel), null);
alert.show();
}
Wszystko działa poprawnie, ale po kliknięciu na pozycja menu, logcat pokazuje mi błąd:
I/AppCompatDelegate﹕ The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
Jak rozwiązać ten problem?
Co klasa jest przedłużony o swojej klasie aktywności? –
MainActivity rozszerza AppCompatActivity – aseolin