-  영화 리스트 만들기 

 

<listitem.xml> 

- 만들 때 layout 우클릭 후 

OK 누르면 xml 파일 만들어짐 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
    android:background="#eeeeee"
    android:padding="8dp">

    <ImageView
        android:id="@+id/imageMovie"
        android:layout_width="80dp"
        android:layout_height="80dp"
        tools:srcCompat="@mipmap/ic_launcher" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/movieTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="17dp"
            android:textStyle="bold"/>

        <TextView
            android:id="@+id/movieRating"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="15dp" />

        <TextView
            android:id="@+id/movieGenre"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:textColor="#666666"
            android:textSize="13dp"/>

        <TextView
            android:id="@+id/movieYear"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#888888"
            android:gravity="right"
            android:textSize="12dp"/>
    </LinearLayout>
</LinearLayout>

<activity_main.xml>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/listMovie"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:listitem="@layout/listitem"/>

</LinearLayout>

 

<MainActivity.java>

package com.example.customlistview;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Context;
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 listMovie;
    String[] titles = {
            "BOSS BABY(2017)", "JAWS(1975)", "JOKER(2019)", "Monnlight(2016)"
    };

    Integer[] images = {
            R.drawable.bossbaby2017,
            R.drawable.jaws1975,
            R.drawable.joker2019,
            R.drawable.moonlight2016
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CustomList adapter = new CustomList(MainActivity.this);
        listMovie = findViewById(R.id.listMovie);
        listMovie.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getApplicationContext(), titles[+position], Toast.LENGTH_SHORT).show();
            }
        });
        listMovie.setAdapter(adapter);
    }

    public class CustomList extends ArrayAdapter<String>{
        private final Activity context;
        public CustomList(@NonNull Activity context) {
            super(context, R.layout.listitem, titles);
            this.context = context;
        }

        @NonNull
        @Override
        public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
            LayoutInflater inflater = context.getLayoutInflater();
            View rowView = inflater.inflate(R.layout.listitem, null, true);
            ImageView imageView = (ImageView) rowView.findViewById(R.id.imageMovie);
            TextView title = (TextView) rowView.findViewById(R.id.movieTitle);
            TextView rating = (TextView) rowView.findViewById(R.id.movieRating);
            TextView genre = (TextView) rowView.findViewById(R.id.movieGenre);
            TextView year = (TextView) rowView.findViewById(R.id.movieYear);

            title.setText(titles[position]);
            imageView.setImageResource(images[position]);
            rating.setText("4.4"+position);
            genre.setText("DRAMA");
            year.setText(2000+position+"");
            return rowView;
        }
    }

}

+ Recent posts