我已經創建了一個應用程序,這是從一個WebService充入數據的個性化列表,當你看到它的領域之一是國家,但是這將返回的數量( 0,1,2)是我想要做的就是把它放在「VACANTE」,「被佔領」,「保留」,並且通過開關來實現,但我不知道如何使用它將一個開關在viewHolder - 自定義列表Android Studio中
viewHolder.estado.setText(items.get(i).getEstado());//number (0,1,2)
這個數據我把它從一個PHP WebService這是我目前的代碼:
public class MetaAdapter extends RecyclerView.Adapter<MetaAdapter.MetaViewHolder>
implements ItemClickListener {
/**
* Lista de objetos {@link Meta} que representan la fuente de datos
* de inflado
*/
private List<Plaza> items;
/*
Contexto donde actua el recycler view
*/
private Context context;
public MetaAdapter(List<Plaza> items, Context context) {
this.context = context;
this.items = items;
}
@Override
public int getItemCount() {
return items.size();
}
@Override
public MetaViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_list, viewGroup, false);
return new MetaViewHolder(v, this);
}
@Override
public void onBindViewHolder(MetaViewHolder viewHolder, int i) {
viewHolder.nivel.setText(items.get(i).getNivel());
viewHolder.estado.setText(items.get(i).getEstado());
viewHolder.colegio.setText(items.get(i).getIe());
viewHolder.especialidad.setText(items.get(i).getEspecialidad());
viewHolder.codigo.setText(items.get(i).getCodigoPlaza());
}
/**
* Sobrescritura del método de la interfaz {@link ItemClickListener}
*
* @param view item actual
* @param position posición del item actual
*/
@Override
public void onItemClick(View view, int position) {
DetailActivity.launch(
(Activity) context, items.get(position).getPlazaID());
}
public static class MetaViewHolder extends RecyclerView.ViewHolder
implements View.OnClickListener {
// Campos respectivos de un item
public TextView nivel;
public TextView estado;
public TextView colegio;
public TextView especialidad;
public TextView codigo;
public ItemClickListener listener;
public MetaViewHolder(View v, ItemClickListener listener) {
super(v);
nivel = (TextView) v.findViewById(R.id.nivel);
estado = (TextView) v.findViewById(R.id.estado);
colegio = (TextView) v.findViewById(R.id.colegio);
especialidad = (TextView) v.findViewById(R.id.especialidad);
codigo = (TextView) v.findViewById(R.id.codigo);
this.listener = listener;
v.setOnClickListener(this);
}
@Override
public void onClick(View v) {
listener.onItemClick(v, getAdapterPosition());
}
}
}
interface ItemClickListener {
void onItemClick(View view, int position);
}
你只是想顯示狀態'String'(如「VACANTE」,而不是「0」),或者你想添加一個GUI元素,讓你的狀態切換爲每一個列表項? – deHaar
只需更換爲字符串(如「VACANTE」而不是「0」) –