ItemsSpinner.java
- Spoiler:
import android.graphics.drawable.Drawable;
public class ItemsSpinner {
private Drawable drawableSpinner;
private String stringSpinner;
public Drawable getDrawableSpinner() {
return drawableSpinner;
}
public void setDrawableSpinner(Drawable drawableSpinner) {
this.drawableSpinner = drawableSpinner;
}
public String getStringSpinner() {
return stringSpinner;
}
public void setStringSpinner(String stringSpinner) {
this.stringSpinner = stringSpinner;
}
}
- Code:
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class SpinnerAdapter extends ArrayAdapter<ItemsSpinner>{
private List<ItemsSpinner> liItemsSpinners;
// hien thi drop itemsspinner
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Activity activity = (Activity)getContext();
LayoutInflater layoutInflater = activity.getLayoutInflater();
View view = layoutInflater.inflate(R.layout.items_spinner, null);
TextView tvSpinner = (TextView)view.findViewById(R.id.tvSpinner);
ImageView ivSpinner = (ImageView) view.findViewById(R.id.ivSpinner);
tvSpinner.setText(liItemsSpinners.get(position).getStringSpinner());
ivSpinner.setImageDrawable(liItemsSpinners.get(position).getDrawableSpinner());
return view;
}
// hien thi itemsspinner
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Activity activity = (Activity)getContext();
LayoutInflater layoutInflater = activity.getLayoutInflater();
View view = layoutInflater.inflate(R.layout.items_spinner, null);
TextView tvSpinner = (TextView)view.findViewById(R.id.tvSpinner);
ImageView ivSpinner = (ImageView) view.findViewById(R.id.ivSpinner);
tvSpinner.setText(liItemsSpinners.get(position).getStringSpinner());
ivSpinner.setImageDrawable(liItemsSpinners.get(position).getDrawableSpinner());
return view;
}
public SpinnerAdapter(Context context, List<ItemsSpinner> liItemsSpinners) {
super(context,0,liItemsSpinners);
this.liItemsSpinners = liItemsSpinners;
// TODO Auto-generated constructor stub
}
}
- Spoiler:
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Spinner;
public class ActivitySpinnerCustomize extends Activity {
private List<ItemsSpinner> listItemsSpinners;
private Spinner spinner;
private SpinnerAdapter spinnerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner_customize);
NhapDuLieu();
spinner = (Spinner) findViewById(R.id.spinner);
spinnerAdapter = new SpinnerAdapter(this, listItemsSpinners);
spinner.setAdapter(spinnerAdapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(getApplicationContext(), "Selected :"+listItemsSpinners.get(arg2).getStringSpinner(), Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_spinner_customize, menu);
return true;
}
private void NhapDuLieu(){
listItemsSpinners = new ArrayList<ItemsSpinner>();
for (int i = 0; i < 3; i++) {
ItemsSpinner itemsSpinner = new ItemsSpinner();
if (i == 0) {
itemsSpinner.setDrawableSpinner(getResources().getDrawable(
R.drawable.firefox));
itemsSpinner.setStringSpinner("Fire fox");
} else if (i == 1) {
itemsSpinner.setDrawableSpinner(getResources().getDrawable(
R.drawable.smile));
itemsSpinner.setStringSpinner("Smile");
} else if (i == 2) {
itemsSpinner.setDrawableSpinner(getResources().getDrawable(
R.drawable.sad));
itemsSpinner.setStringSpinner("Sad");
}
listItemsSpinners.add(i,itemsSpinner);
}
}
}
- Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ActivitySpinnerCustomize" >
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
- Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivSpinner"
android:layout_width="30dp"
android:layout_height="30dp" />
<TextView
android:id="@+id/tvSpinner"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>