I have a Spinner
with three positions 0, 1, 2 and what I want to do is create more positions with a list that I have in my Sqlite
:
final List lista = mDatabase.ReadCategorias();
Activity
int flags[] = {R.drawable.image1, R.drawable.image2, R.drawable.image3};
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
tv_categoria.setText("diaria");
tv_imagen.setText("image_0001");
} else if (position == 1) {
tv_categoria.setText("semanal");
tv_imagen.setText("image_0002");
} else if (position == 2) {
tv_categoria.setText("mensual");
tv_imagen.setText("image_0003");
}
spin.setSelection(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
// fin spinner
SqliteDatabase mDatabase;
TextView tv_categoria, tv_imagen;
String[] categoria;
Spinner spin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crear_nota);
tv_categoria = new TextView(CrearNota.this);
tv_imagen = new TextView(CrearNota.this);
mDatabase = new SqliteDatabase(this);
spin = (Spinner) findViewById(R.id.spinnercategoria);
// spinner
/// aqui cargo de un array los títulos de los tres primeros
categoria = getResources().getStringArray(R.array.titulos_categorias);
CustomAdapter customAdapter = new CustomAdapter(ContextyMetodos.getAppContext(), flags, categoria);
spin.setOnItemSelectedListener(this);
spin.setAdapter(customAdapter);
// fin spinner
Adapter
public class CustomAdapter extends BaseAdapter {
Context context;
int flags[];
String[] titulo_categorias;
LayoutInflater inflter;
public CustomAdapter(Context applicationContext, int[] flags, String[] titulo_categorias) {
this.context = applicationContext;
this.flags = flags;
this.titulo_categorias = titulo_categorias;
inflter = (LayoutInflater.from(applicationContext));
}
@Override
public int getCount() {
return flags.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = inflter.inflate(R.layout.custom_spinner_items, null);
ImageView icon = (ImageView) view.findViewById(R.id.imagenspinner);
TextView names = (TextView) view.findViewById(R.id.textspinner);
icon.setImageResource(flags[i]);
names.setText(titulo_categorias[i]);
return view;
}
}
How can I do it? Thanks !!!