프로그래밍

'전체 글'에 해당되는 글 72건

  1. 추가) recyclerview

추가) recyclerview

안드로이드 스튜디오
반응형
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:padding="5dp"
    android:background="#ffffff">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1">
            <EditText
                android:id="@+id/addTitle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20dp"
                android:textColor="#000000"
                android:hint="TITLE" />

            <EditText
                android:id="@+id/addContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="10dp"
                android:textColor="#BABABA"
                android:hint="content" />

        </LinearLayout>

        <ImageView
            android:id="@+id/addImage"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_gravity="center_vertical"
            android:scaleType="centerCrop"
            app:srcCompat="@mipmap/ic_launcher"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <Button
            android:id="@+id/Go"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="입력" />

        <Button
            android:id="@+id/Cancel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="취소" />
    </LinearLayout>


</LinearLayout>

 

package com.example.recyclerview;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Random;

public class MainActivity extends AppCompatActivity implements MyAdapter.MyRecyclerViewClickListener {

    Button bnt;
    ArrayList<ItemData> dataList = new ArrayList<>();
    int cat[] = {R.drawable.pic_001,R.drawable.pic_002,R.drawable.pic_003,R.drawable.pic_004,
            R.drawable.pic_005,R.drawable.pic_006,R.drawable.pic_007,R.drawable.pic_008,
            R.drawable.pic_009,R.drawable.pic_010,R.drawable.pic_011,R.drawable.pic_012,
            R.drawable.pic_013,R.drawable.pic_014,R.drawable.pic_015,R.drawable.pic_016,
            R.drawable.pic_017,R.drawable.pic_018,R.drawable.pic_019,R.drawable.pic_020,
            R.drawable.pic_021,R.drawable.pic_022,R.drawable.pic_023,R.drawable.pic_024,
            R.drawable.pic_025,R.drawable.pic_026,R.drawable.pic_028,R.drawable.pic_029,
            R.drawable.pic_030,R.drawable.pic_031,R.drawable.pic_032,R.drawable.pic_033,
            R.drawable.pic_034,R.drawable.pic_035,R.drawable.pic_036};

    final MyAdapter adapter = new MyAdapter(dataList);
    static int i=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        RecyclerView recyclerView = findViewById(R.id.recycler);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);

        bnt = findViewById(R.id.bnt);
        bnt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    dataList.add(new ItemData(cat[i], "고양이 " + (i + 1), String.format("고양이 %03d", i + 1)));
                    adapter.notifyDataSetChanged();
                    i = (i+1)%35;
            }
        });
        adapter.setonClickListener(this);
    }

    @Override
    public void onItemClicked(int position) {
        Toast.makeText(getApplicationContext(),(position+1)+"번 고양이",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onItemLongClicked(int position) {
        adapter.remove(position);
        Toast.makeText(getApplicationContext(),(position+1)+"번 고양이 삭제",Toast.LENGTH_SHORT).show();
    }

    public void Insert(View view) {
        final Dialog dialog = new Dialog(this);
        dialog.setTitle("Title");
        dialog.setContentView(R.layout.insert);
        dialog.setCancelable(true);

        WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
        params.width = WindowManager.LayoutParams.MATCH_PARENT;
        dialog.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);

        final EditText editTitle = dialog.findViewById(R.id.addTitle);
        final EditText editCont = dialog.findViewById(R.id.addContent);
        ImageView insertImage = dialog.findViewById(R.id.addImage);
        Button Go = dialog.findViewById(R.id.Go);
        Button Cancel = dialog.findViewById(R.id.Cancel);

        Go.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String myTitle = editTitle.getText().toString();
                String myCont = editCont.getText().toString();
                dataList.add(new ItemData(cat[i],myTitle, myCont));
                dialog.dismiss();
            }
        });
        Cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        i = (i+1)%35;
        dialog.show();
        adapter.notifyDataSetChanged();
    }
}
반응형