makaleler / Diğer Konular / Android ile Liste İçine Ikon Yerleştirmek

Android ile Liste İçine Ikon Yerleştirmek

03.10.2015 22:27:37

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.
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;
	}
	
}

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda