I make a onClick in recyclerView onCreateViewHolder like this.
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_homeinfo, parent, false);
final ViewHolder holder = new ViewHolder(itemView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), Integer.toString(holder.getAdapterPosition()), Toast.LENGTH_SHORT).show();
}
});
return holder;
}
and I want to put this code in onClick.
final String serverURL = "http://youngh.cafe24app.com/qrock/views/qrock_pk/user_email";
myDb = new DatabaseHelper(v.getContext()); //is it Possible?
final String token = myDb.getToken();
final String email = myDb.getEmail();
StringRequest stringRequest = new StringRequest(Request.Method.GET, serverURL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Intent myIntent = new Intent(v.getContext(), mainActivity.class); //v.getContent() <- ERROR
startActivity(myIntent);
finish();
overridePendingTransition(R.xml.madefadein, R.xml.splashfadeout);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
switch(error.networkResponse.statusCode)
{
}
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
//params.put("qrock_pk", qrockPk);
params.put("user_email", email);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("x-access-token", token);
return headers;
}
};
MySingleton.getInstance(v.getContext()).addToRequestQue(stringRequest);
But in onCreateViewHolder, I can't cast startActivity()
, finish()
etc.
I want to make when I click a recyclerViewItem, start these code and move to another activity. How to use these code???
I'm sorry I can not speak English well.