husonet | Tarih: 04.10.2015
Android ile Liste İçine Ikon Yerleştirmek
Sol menü içerisindeki listeye ikonların eklenmesi
Listede mevcut olan her itema bir ikon eklemek istersek main activity sınıfımız içersinde aşağıdaki kodları yazmalıyız.
Listemizde kaç eleman varsa o kadar ikonumuzu tanımladık ve aşağıda bu ikonları listeye ekliyoruz.
CustomList sınıfımız aşağıdak gibidir:
Integer[] imageIds = {
R.drawable.ikon1,
R.drawable.ikon2,
R.drawable.ikon3,
R.drawable.ikon4
};
Listemizde kaç eleman varsa o kadar ikonumuzu tanımladık ve aşağıda bu ikonları listeye ekliyoruz.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
mDrawerItmes = getResources().getStringArray(R.array.drawer_titles);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerList.setAdapter(new CustomList(this, mDrawerItmes, imageIds));
}
CustomList sınıfımız aşağıdak gibidir:
import android.app.Activity;
import android.database.DataSetObserver;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] itmes;
private final Integer[] imageIds;
public CustomList(Activity context, String[] itmes, Integer[] imageIds) {
super(context, R.layout.drawer_list_item, itmes);
this.context = context;
this.itmes = itmes;
this.imageIds = imageIds;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.drawer_list_item, null, true);
TextView txtTitle = (TextView) rowView.findViewById(android.R.id.text1);
txtTitle.setText(itmes[position]);
ImageView imageView = (ImageView) rowView.findViewById(android.R.id.icon);
imageView.setImageResource(imageIds[position]);
return rowView;
}
}