我尝试清理并重建项目。我也尝试了使高速缓存失效并重新启动的方法,但是没有用。
之前没有给出错误,但是我重写了代码,此错误来了。我尝试重新启动所有解决方案,但这没有用。
package ankittx.com.forsale;
import android.content.Intent ;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import ankittx.com.forsale.models.HitsList;
import ankittx.com.forsale.models.HitsObject;
import ankittx.com.forsale.models.Post;
import ankittx.com.forsale.util.ElasticSearchAPI;
import ankittx.com.forsale.util.PostListAdapter;
import okhttp3.Credentials;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class SearchFragment extends Fragment {
private static final String TAG = "SearchFragment";
private static final String BASE_URL =
"http://35.232.207.55//elasticsearch/posts/post/";
private static final int NUM_GRID_COLUMNS = 3;
//widgets
private ImageView mFilters;
private EditText mSearchText;
//vars
private String mElasticSearchPassword;
private String mPrefCity;
private String mPrefStateProv;
private String mPrefCountry;
private ArrayList<Post> mPosts;
private RecyclerView mRecyclerView;
private PostListAdapter mAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_search, container,
false);
mFilters = (ImageView) view.findViewById(R.id.ic_search);
mSearchText = (EditText) view.findViewById(R.id.input_search);
mRecyclerView=(RecyclerView)view.findViewById(R.id.recyclerView);
init();
return view;
}
private void init(){
mFilters.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: navigating to filters activity.");
Intent intent = new Intent(getActivity(),
FiltersActivity.class);
startActivity(intent);
}
});
mSearchText.setOnEditorActionListener(new
TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent
event) {
if(actionId == EditorInfo.IME_ACTION_SEARCH
||actionId == EditorInfo.IME_ACTION_DONE
||event.getAction() == KeyEvent.ACTION_DOWN
||event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
}
return false;
}
});
}
private void getElasticSearchPassword(){
Log.d(TAG, "getElasticSearchPassword: retrieving elastic search
password");
Query query = FirebaseDatabase.getInstance().getReference()
.child(getString(R.string.node_elasticsearch))
.child(getString(R.string.field_password));
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
DataSnapshot dataSnapshot1 =
dataSnapshot.getChildren().iterator().next();
mElasticSearchPassword = singleSnapshot.getValue().toString();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}