안드로이드 개발 질문/답변
(글 수 45,052)
public class ListIconText extends Activity {
ArrayList<MyItem> arItem;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_listtest);
arItem = new ArrayList<MyItem>(); MyItem mi; mi = new MyItem(R.drawable.icon, "삼성 노트북");arItem.add(mi); mi = new MyItem(R.drawable.icon, "LG 세탁기");arItem.add(mi); mi = new MyItem(R.drawable.icon, "대우 마티즈");arItem.add(mi);
MyListAdapter MyAdapter = new MyListAdapter(this, R.layout.widget_icontext, arItem);
ListView MyList; MyList=(ListView)findViewById(R.id.list); MyList.setAdapter(MyAdapter); } }
//리스트 뷰에 출력할 항목
class MyItem {
MyItem(int aIcon, String aName) {
Icon = aIcon;
Name = aName;
}
int Icon;
String Name;
}
//어댑터 클래스
class MyListAdapter extends BaseAdapter {
Context maincon;
LayoutInflater Inflater;
ArrayList<MyItem> arSrc;
int layout;
public MyListAdapter(Context context, int alayout, ArrayList<MyItem> aarSrc) {
maincon = context;
Inflater = (LayoutInflater)context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
arSrc = aarSrc;
layout = alayout;
}
public int getCount() {
return arSrc.size();
}
public String getItem(int position) {
return arSrc.get(position).Name;
}
public long getItemId(int position) {
return position;
}
// 각 항목의 뷰 생성
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
if (convertView == null) {
convertView = Inflater.inflate(layout, parent, false);
}
ImageView img = (ImageView)convertView.findViewById(R.id.img);
img.setImageResource(arSrc.get(position).Icon);
TextView txt = (TextView)convertView.findViewById(R.id.text); txt.setText(arSrc.get(position).Name);
Button btn = (Button)convertView.findViewById(R.id.btn);
btn.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String str = arSrc.get(pos).Name + "를 주문합니다.";
Toast.makeText(maincon, str, Toast.LENGTH_SHORT).show();
}
});
return convertView; } }
이러한 예제를 이용해서 리스트를 구현하였는데요.
여기에 setonItemselectedListener를 이용해서 항목 클릭시 이벤트를 발생시키는데
전혀 발생이 안되네요..;
list.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(ListIconText.this, ""+arg2, Toast.LENGTH_LONG);
} @Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
setonitemclicklistener도 사용해 봤구요..;;
뭐가 문제인가요?



