Let's see if you can help me because I do not know what to do
My intention is that in the recyclerview when I clicked, I downloaded a file based on the link provided by the sql
I've already tried all the methods I know and I've searched but there's no way
I hope you can help me
a greeting
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.util.ArrayList;
class RVAdaptermanuales extends RecyclerView.Adapter<RVAdaptermanuales.DatosmanualesViewHolder> {
private ArrayList<manuales> listamanuales;
class DatosmanualesViewHolder extends RecyclerView.ViewHolder {
RelativeLayout cuerpo;
TextView banco, descripcion, enlace;
DatosmanualesViewHolder(View v) {
super(v);
cuerpo = (RelativeLayout) v.findViewById(R.id.cuerpo);
banco = (TextView) itemView.findViewById(R.id.banco);
descripcion = (TextView) itemView.findViewById(R.id.descripcion);
enlace = (TextView) itemView.findViewById(R.id.enlace);
}
}
RVAdaptermanuales(ArrayList<manuales> listamanuales) {this.listamanuales = listamanuales;}
@Override
public DatosmanualesViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.vistadelrvmanuales,parent,false);
return new DatosmanualesViewHolder(v);
}
@Override
public void onBindViewHolder(DatosmanualesViewHolder holder, int position) {
holder.banco.setText(listamanuales.get(position).getManuales());
holder.descripcion.setText(listamanuales.get(position).getDescripcion());
holder.enlace.setText(listamanuales.get(position).getEnlace());
}
@Override
public int getItemCount() {
return listamanuales.size();
}
}
now the activity
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import java.util.ArrayList;
public class ManualesActivity extends AppCompatActivity {
RecyclerView rvmanuales;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_manuales);
rvmanuales = (RecyclerView) findViewById(R.id.rvmanuales);
rvmanuales.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(this);
rvmanuales.setLayoutManager(llm);
String consulta = "***************************";
EnviarRecibirDatos(consulta);
}
public void EnviarRecibirDatos(String URL) {
RequestQueue queue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
response = response.replace("][", ",");
if (response.length() > 0) {
try {
JSONArray ja = new JSONArray(response);
Log.i("sizejson", "" + ja.length());
CargarListView(ja);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(stringRequest);
}
public void CargarListView(JSONArray ja) {
ArrayList<manuales> listamanuales = new ArrayList<>();
for (int i = 0; i < ja.length(); i += 5) {
try {
manuales manuales = new manuales(ja.getString(i + 2),"**********************" + ja.getString(i + 4),ja.getString(i + 3) );
listamanuales.add(manuales);
} catch (JSONException e) {
e.printStackTrace();
}
}
RVAdaptermanuales adaptadorRV = new RVAdaptermanuales(listamanuales);
rvmanuales.setAdapter(adaptadorRV);
}
}
although it has nothing to do but good ...
class manuales {
private String manuales, descripcion, enlace;
manuales(String manuales, String descripcion, String enlace) {
this.manuales = manuales;
this.descripcion = descripcion;
this.enlace = enlace;
}
String getManuales() {
return manuales;
}
String getDescripcion(){return descripcion;}
String getEnlace(){return enlace;}
}