728x90
반응형
<Layout.xml>
//<activity_main.xml>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
//<listitem.xml>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#eeeeee"
android:padding="8dp">
<ImageView
android:id="@+id/image"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_marginRight="8dp" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/image"
android:layout_toRightOf="@+id/image"
android:textSize="17dp"
android:textStyle="bold" />
<TextView
android:id="@+id/rating"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/image"
android:textSize="15dip" />
<TextView
android:id="@+id/genre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rating"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/image"
android:textColor="#666666"
android:textSize="13dip" />
<TextView
android:id="@+id/releaseYear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:textColor="#888888"
android:textSize="12dip" />
</RelativeLayout>
<MainActivity>
package kr.co.moviecustomlistview;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ListView list;
String[] titles = {
"The Wizard of Oz (1939)",
"Citizen Kane (1941)",
"All About Eve (1950)",
"The Third Man (1949)",
"A Hard Day's Night (1964)",
"Modern Times (1936)",
"Metropolis (1927)",
"Metropolis (1927)",
"Metropolis (1927)",
"Metropolis (1927)"
} ;
Integer[] images = {
R.drawable.movie1,
R.drawable.movie2,
R.drawable.movie3,
R.drawable.movie4,
R.drawable.movie5,
R.drawable.movie6,
R.drawable.movie7,
R.drawable.movie7,
R.drawable.movie7,
R.drawable.movie7
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomList adapter = new
CustomList(MainActivity.this);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getBaseContext(), titles[+position], Toast.LENGTH_SHORT).show();
}
});
}
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
public CustomList(Activity context ) {
super(context, R.layout.listitem, titles);
this.context = context;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.listitem, null, true);
ImageView imageView = (ImageView) rowView.findViewById(R.id.image);
TextView title = (TextView) rowView.findViewById(R.id.title);
TextView rating = (TextView) rowView.findViewById(R.id.rating);
TextView genre = (TextView) rowView.findViewById(R.id.genre);
TextView year = (TextView) rowView.findViewById(R.id.releaseYear);
title.setText(titles[position]);
imageView.setImageResource(images[position]);
rating.setText("9.0"+position);
genre.setText("DRAMA");
year.setText(1930+position+"");
return rowView;
}
}
}
[결과 출력]
728x90
반응형
'App > Android Java' 카테고리의 다른 글
Android_Java(25) - MyGridView (0) | 2022.02.14 |
---|---|
Android_Java(24) - MovieCustomListView(2) (0) | 2022.02.14 |
Android_Java(22) - ActivityLifeCycle (0) | 2022.02.13 |
Android_Java(21) - ImplicitIntent (0) | 2022.02.11 |
Android_Java(20) - MyIntent(3) (0) | 2022.02.11 |
댓글