«аннулирует com.algolia.instantsearch.core.helpers.Searcher.destroy()’ для нулевой ссылки на объект

#android #algolia

#Android #algolia

Вопрос:

Когда я нажимаю стрелку назад, чтобы завершить действие, мое приложение выходит из строя, и я получаю следующую ошибку:

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.algolia.instantsearch.core.helpers.Searcher.destroy()' on a null object reference

public class DiscoverActivity extends AppCompatActivity {
private DatabaseReference mFriendDatabase, mFriendDatabase2;
private FirebaseAuth mAuth;
private String mCurrent_user_id;
private GridView contacts_list;
private EditText searchBox;
private ImageButton searchButon;
private static final String ALGOLIA_APP_ID = "I_dunno";
private static final String ALGOLIA_SEARCH_API_KEY = "I_dunno";
private static final String ALGOLIA_INDEX_NAME = "user_index";

private Searcher searcher;
private InstantSearch helper;



final DatabaseReference rootref = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users");
private ArrayList<CustomContact> contactList = new ArrayList<>();




protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_findfriend);

    Searcher searcher = Searcher.create(ALGOLIA_APP_ID, ALGOLIA_SEARCH_API_KEY, ALGOLIA_INDEX_NAME);
    helper = new InstantSearch(this, searcher);
    helper.search();

    mAuth = FirebaseAuth.getInstance();
    mCurrent_user_id = mAuth.getCurrentUser().getUid();



}
@Override
protected void onDestroy() {
    searcher.destroy();
    super.onDestroy();
}
}
  

Я смог это решить. Глупая ошибка. Я надеюсь, что это поможет всем, кто сталкивается с подобной проблемой. Обратите внимание на детали.

Ответ №1:

Я изменил:

 Searcher searcher = Searcher.create(ALGOLIA_APP_ID, ALGOLIA_SEARCH_API_KEY, ALGOLIA_INDEX_NAME);
  

Для

 searcher = Searcher.create(ALGOLIA_APP_ID, ALGOLIA_SEARCH_API_KEY, ALGOLIA_INDEX_NAME);