추가) 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();
}
}
반응형
'안드로이드 스튜디오' 카테고리의 다른 글
| 안드로이드 스튜디오 DB- 파이어 베이스 (firebase)2 (0) | 2020.05.24 |
|---|---|
| 안드로이드 스튜디오 DB- 파이어 베이스 (firebase)1 (0) | 2020.05.24 |
| 안드로이드 스튜디오 RecyclerView (0) | 2020.05.10 |
| 안드로이드 스튜디오 프래그먼트 2 (0) | 2020.05.09 |
| 안드로이드 스튜디오 Fragment (0) | 2020.05.09 |