[Android] List 예제
모바일 융합 기술 센터
스마트 앱 창작터 안드로이드 기초 및 실습 강의 자료
Day8Ex2MyList - MainActivity.java
import java.util.ArrayList;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity
implements OnItemClickListener {
// protected String[] mArray = { "걸스데이", "에이핑크", "소녀시대", "시크릿",
// "걸스데이", "에이핑크", "소녀시대", "시크릿",
// "걸스데이", "에이핑크", "소녀시대", "시크릿",
// "걸스데이", "에이핑크", "소녀시대", "시크릿" };
ArrayList<IdolInfo> mArray = new ArrayList<IdolInfo>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mArray.add(new IdolInfo("걸스데이", "썸씽"));
mArray.add(new IdolInfo("에이핑크", "No No No"));
mArray.add(new IdolInfo("소녀시대", "Gee"));
mArray.add(new IdolInfo("시크릿", "매직"));
mArray.add(new IdolInfo("걸스데이", "썸씽"));
mArray.add(new IdolInfo("에이핑크", "No No No"));
mArray.add(new IdolInfo("소녀시대", "Gee"));
mArray.add(new IdolInfo("시크릿", "매직"));
ListView list = (ListView)findViewById(R.id.listView);
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1,
// mArray);
IdolAdapter adapter = new IdolAdapter(this,
android.R.layout.simple_list_item_1);
list.setAdapter(adapter);
list.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position,
long arg3) {
// Toast.makeText(this, "클릭: " + position + "(" + mArray[position] + ")",
// Toast.LENGTH_SHORT).show();
new AlertDialog.Builder(this)
.setTitle("아이템 선택")
.setMessage(mArray.get(position).getName() + " 아이템을 선택했습니다.")
.setPositiveButton("확인", null)
.show();
}
public class IdolInfo {
protected String name;
protected String song;
public IdolInfo(String name, String song) {
super();
this.name = name;
this.song = song;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSong() {
return song;
}
public void setSong(String song) {
this.song = song;
}
}
static class IdolViewHolder {
TextView idolName;
}
public class IdolAdapter extends ArrayAdapter<IdolInfo> {
protected LayoutInflater mInflater = null;
public IdolAdapter(Context context, int resource) {
super(context, resource);
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mArray.size();
}
@Override
public View getView(int position, View v, ViewGroup parent) {
IdolViewHolder viewHolder;
if (v == null) {
v = mInflater.inflate(android.R.layout.simple_list_item_1,
parent, false);
viewHolder = new IdolViewHolder();
viewHolder.idolName = (TextView)v.findViewById(android.R.id.text1);
v.setTag(viewHolder);
}
else {
viewHolder = (IdolViewHolder)v.getTag();
}
IdolInfo info = mArray.get(position);
if (info != null) {
viewHolder.idolName.setText(info.getName());
}
return v;
}
}
}
'프로그래밍 > Android 프로그래밍' 카테고리의 다른 글
[Android] DrawerLayout 나머지 부분 어둡지 않게 만들기 (0) | 2015.08.22 |
---|---|
[Android] AsyncTask 예제 (0) | 2014.08.14 |
[Android] BLE (Bluetooth Low Energy) (0) | 2014.06.24 |
[Android] MIDI 프로그래밍 (1) | 2014.06.24 |
[Android] Music Synthesizer (0) | 2014.06.24 |