Ресурсы $ NotFoundException в Main - PullRequest
0 голосов
/ 28 мая 2020

Когда я запускаю свой проект, я сталкиваюсь с фатальным исключением в main:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.litstorage, PID: 6719
android.content.res.Resources$NotFoundException: Resource ID #0x7f0800c6 type #0x12 is not valid
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2138)
    at android.content.res.Resources.getLayout(Resources.java:1142)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
    at com.firebase.ui.database.FirebaseListAdapter.getView(FirebaseListAdapter.java:134)
    at android.widget.AbsListView.obtainView(AbsListView.java:2372)
    at android.widget.ListView.makeAndAddView(ListView.java:2052)
    at android.widget.ListView.fillDown(ListView.java:786)
   //and many other at's

Я не знаю, почему это происходит, потому что я ничего не менял в коде с тех пор, как я успешно запустил приложение в предыдущий раз.

Вот основной код активности:

public class MainActivity extends AppCompatActivity {

private RelativeLayout listview_layout;
int sign_in_code = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listview_layout);

    listview_layout = findViewById(R.id.listview_layout);

    if (FirebaseAuth.getInstance().getCurrentUser() == null)
        startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(), sign_in_code);
    else {
        Snackbar.make(listview_layout, "Вы авторизованы", Snackbar.LENGTH_SHORT).show();
        displayAllItems();
    }
}

public void createObject(View view){
    Intent intent = new Intent(this, EditObjectActivity.class);
    startActivity(intent);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == sign_in_code) {
        if (resultCode == RESULT_OK) {
            Snackbar.make(listview_layout, "Вы авторизованы", Snackbar.LENGTH_SHORT).show();
            displayAllItems();
        } else {
            Snackbar.make(listview_layout, "Вы не авторизованы", Snackbar.LENGTH_SHORT).show();
            finish();
        }
    }
}

private void displayAllItems(){
    ListView listOfItems = (ListView) findViewById(R.id.list_of_items);
    FirebaseListAdapter<Item> adapter = new FirebaseListAdapter<Item>(this, Item.class, R.id.list_item, FirebaseDatabase.getInstance().getReference()) {
        @Override
        protected void populateView(View v, Item model, int position) {
            TextView type, subtype, name;
            type = v.findViewById(R.id.item_type);
            subtype = v.findViewById(R.id.item_subtype);
            name = v.findViewById(R.id.item_name);

            type.setText(model.getType());
            subtype.setText(model.getSubtype());
            name.setText(model.getName());
        }
    };
    listOfItems.setAdapter((adapter));
}
}

Я использую форму авторизации Firebase, и она работает, когда запускается на новом виртуальном устройстве. Однако после того, как я авторизовался, я попал в макет списка, который вылетел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...