Code
public class ClassRuta extends Fragment {
View viewIn;
SearchView sv;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
viewIn = inflater.inflate(R.layout.list_ruta, container, false);
((HomeActivity) getActivity()).setActionBarTitle("Buscar");
((HomeActivity) getActivity()).showSupportActionBar();
sv=(SearchView) viewIn.findViewById(R.id.searchView1);
//sv.setIconified(false);
return viewIn;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
new AsyncListViewLoader().execute();
}
private class AsyncListViewLoader extends AsyncTask<Void, Void, ObjectPark[]> {
ProgressDialog dialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = ProgressDialog.show(getActivity(), "","Cargando...", true);
dialog.show();
}
@Override
protected ObjectPark[] doInBackground(Void... params) {
ObjectPark[] ObjectItemData = null;
ObjectItemData = new ObjectPark[12];
for (int i = 0; i < 12; i++) {
ObjectItemData[i] = new ObjectPark("RUTA "+i,"url","Type"+i);
}
return ObjectItemData;
}
protected void onPostExecute(ObjectPark[] result) {
if(result == null){
Toast.makeText(getActivity(), "No hay conexion a la red", Toast.LENGTH_SHORT).show();
}else{
ListView list = (ListView)viewIn.findViewById(R.id.listPark);
final CustomAdapter cus = new CustomAdapter(getActivity(),result);
list.setAdapter(cus);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
/// Obtiene el valor de la casilla elegida
String itemSeleccionado = adapterView.getItemAtPosition(i).toString();
// muestra un mensaje
//Toast.makeText(getActivity(), "Haz hecho click en " + itemSeleccionado, Toast.LENGTH_SHORT).show();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
//transaction.setCustomAnimations(R.animator.enter,R.animator.exit);
//transaction.setCustomAnimations(R.anim.enter,R.anim.exit);
//transaction.replace(R.id.content_frame, new ClassParkInfo()).commit();
}
});
}
dialog.dismiss();
}
}
public static class CustomAdapter extends BaseAdapter {
ObjectPark data[] = null;
LayoutInflater mInflater;
public CustomAdapter(Context context, ObjectPark[] data) {
mInflater = LayoutInflater.from(context);
this.data = data;
}
@Override
public int getCount() {
return data.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView ==null)
{
convertView = mInflater.inflate(R.layout.ruta_row,parent,false);
holder = new ViewHolder();
holder.tv = (TextView) convertView.findViewById(R.id.nameRuta);
holder.iv = (ImageView) convertView.findViewById(R.id.imagePark);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
ObjectPark objectItem = data[position];
holder.tv.setText(objectItem.name);
// use holder.iv to set whatever image you want according to the position
return convertView;
}
static class ViewHolder
{
ImageView iv;
TextView tv;
TextView tv2;
}
}
@Override
public void onResume() {
super.onResume();
getView().setFocusableInTouchMode(true);
getView().requestFocus();
getView().setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
// handle back button
getFragmentManager().beginTransaction().replace(R.id.content_frame,new ClassInit()).commit();
return true;
}
return false;
}
});
}
public class ObjectPark {
public String name;
public String url;
public String type;
// constructor
public ObjectPark(String name,String url,String type) {
this.name = name;
this.url = url;
this.type = type;
}
}
}