NullPointerException: в отношении использования RecyclerView в приложении для Android

Привет всем, кто плохо знаком с разработкой для Android, но столкнулся с проблемой, когда я пытаюсь реализовать функцию поиска в своем приложении.

Error: java.lang.NullPointerException: Attempt to invoke virtual
 method 'boolean
 android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()' on a
 null object reference.

Я прочитал несколько блогов (в том числе уже на Stackru) и страницу разработчика Android и не могу избавиться от этой ошибки, которая вылетает из моего приложения. Я определенно могу показать исходный код, если это поможет.
Ошибка возникает, когда я называю это

recyclerView.**setLayoutManager**(new
 StaggeredGridLayoutManager(temp.ITEMS.size(),0));

Если люди знакомы с заданием по умолчанию, я использую этот файл и создаю простое представление инвентаря, которое извлекается из базы данных. Все работало нормально, прежде чем я попытался реализовать функцию поиска.
Буду признателен за любую оказанную помощь.

public class RebeEssentialsProductListActivity extends AppCompatActivity {

/**
 * Whether or not the activity is in two-pane mode, i.e. running on a tablet
 * device.
 */
private boolean mTwoPane;
RecyclerView recyclerView;
MyAdapter adapter;
SearchView sv;


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

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    toolbar.setTitle(getTitle());

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
    // Show the Up button in the action bar.
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

    if (findViewById(R.id.rebeessentialsproduct_detail_container) != null) {

        mTwoPane = true;
    }

    recyclerView = (RecyclerView) findViewById(R.id.rebeessentialsproduct_list);
    sv=findViewById(R.id.mSearch);

    DummyContent temp = new DummyContent();
    adapter = new MyAdapter(this,temp.ITEMS);

    recyclerView.setLayoutManager(new StaggeredGridLayoutManager(temp.ITEMS.size(),0));
    recyclerView.setAdapter(adapter);

    sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            adapter.getFilter().filter(s);
            return false;
        }
    });


}

@Override
protected void onResume() {
    super.onResume();

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}

0 ответов

Другие вопросы по тегам