<MainActivity.java>
public class MainActivity extends AppCompatActivity {
ArrayList<Song> al = new ArrayList<Song>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
al.add(new Song("소녀",R.drawable.img01,"오혁(Hyukk Oh)"));
al.add(new Song("Prologue",R.drawable.img02,"허각"));
al.add(new Song("못먹는 감 (Sour Grapes)",R.drawable.img03,"산이(San E)"));
al.add(new Song("걱정말아요 그대",R.drawable.img04,"이적"));
al.add(new Song("그날을 내 등 뒤로",R.drawable.img05,"허각"));
al.add(new Song("청춘 (feat. 김창완)",R.drawable.img06,"김필(Kim Feel"));
al.add(new Song("Hot Pink",R.drawable.img07,"EXID(이엑스아이디)"));
al.add(new Song("널 생각해",R.drawable.img08,"윤하(Younha/ユンナ)"));
al.add(new Song("사랑은 가슴이 시킨다 Part.3",R.drawable.img09,"버즈(Buzz)"));
al.add(new Song("또 다시 사랑",R.drawable.img10,"임창정"));
MyAdapter adapter = new MyAdapter(
getApplicationContext(),
R.layout.activity_row,
al);
ListView lv = (ListView)findViewById(R.id.listView1);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(
getApplicationContext(),
(Class<?>) songdetail.Class);
intent.putExtra("title", al.get(position).title);
intent.putExtra("artist", al.get(position).artist);
intent.putExtra("img", al.get(position).img);
startActivity(intent);
}
});
}
}
class MyAdapter extends BaseAdapter {
Context context;
int layout;
ArrayList<Song> al;
LayoutInflater inf;
public MyAdapter(Context context, int layout, ArrayList<Song> al) {
this.context = context;
this.layout = layout;
this.al = al;
inf = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return al.size();
}
@Override
public Object getItem(int position) {
return al.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView==null) {
convertView = inf.inflate(layout, null);
}
ImageView iv = (ImageView)convertView.findViewById(R.id.imageView1);
TextView tvName = (TextView)convertView.findViewById(R.id.textView1);
TextView tvInfo = (TextView)convertView.findViewById(R.id.textView2);
Song m = al.get(position);
iv.setImageResource(m.img);
tvName.setText(m.title);
tvInfo.setText(m.artist);
return convertView;
}
}
class Song {
String title = "";
int img;
String artist = "";
public Song(String title, int img, String artist) {
super();
this.title = title;
this.img = img;
this.artist = artist;
}
public Song() {}
}
<songdetail.java>
public class songdetail extends Activity {
public static Object Class;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_songdetail);
TextView tvTitle = (TextView)findViewById(R.id.textView1);
TextView tvArtist = (TextView)findViewById(R.id.textView2);
ImageView iv = (ImageView)findViewById(R.id.imageView1);
Intent intent = getIntent();
tvTitle.setText(intent.getStringExtra("title"));
tvArtist.setText(intent.getStringExtra("artist"));
iv.setImageResource(intent.getIntExtra("img", 0));
}
public class Class {
}
}
인텐트값넘기기인데 앱은 실행되지만 곡 목록을 선택하면 프로그램이 종류되네요 ㅠ