Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.iamusing5530.myapplication;
- import android.content.ContentValues;
- import android.content.Context;
- import android.content.Intent;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteException;
- import android.graphics.Color;
- import android.graphics.drawable.Drawable;
- import android.media.Image;
- import android.net.Uri;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import java.util.ArrayList;
- public class BtnImageActivity extends AppCompatActivity {
- EditText etColor;
- Button btnAdd;
- Button btnChoose;
- ImageView imgPreview;
- RecyclerView recyclerView;
- ImgButtonAdapter imgButtonAdapter;
- String uriStr = null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_btn_image);
- etColor = findViewById(R.id.et_color);
- btnAdd = findViewById(R.id.btn_add);
- btnChoose = findViewById(R.id.btn_choose);
- imgPreview = findViewById(R.id.img_preview);
- recyclerView = findViewById(R.id.recycler);
- imgButtonAdapter = new ImgButtonAdapter(this);
- recyclerView.setAdapter(imgButtonAdapter);
- btnChoose.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Picture"), 0);
- }
- });
- btnAdd.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- MyImageButton myImageButton = new MyImageButton();
- myImageButton.color = Color.parseColor(etColor.getText().toString());
- if (uriStr == null)
- return;
- myImageButton.uri = uriStr;
- imgButtonAdapter.add(myImageButton);
- }
- });
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == 0 && resultCode == RESULT_OK) {
- Uri uri = data.getData();
- imgPreview.setImageURI(uri);
- uriStr = uri.toString();
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
- class ImgButtonAdapter extends RecyclerView.Adapter<ImgButtonAdapter.ViewHolder> {
- Context context;
- SQLiteDatabase db;
- ArrayList<MyImageButton> list = new ArrayList<>();
- class ViewHolder extends RecyclerView.ViewHolder {
- ImageButton mImageButton;
- ViewHolder(ImageButton imageButton) {
- super(imageButton);
- mImageButton = imageButton;
- mImageButton.setScaleType(ImageView.ScaleType.FIT_CENTER);
- LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- 100);
- mImageButton.setLayoutParams(layoutParams);
- }
- public void bind(MyImageButton myImageButton) {
- mImageButton.setBackground(DrawableFactory.getStateListDrawable(myImageButton.color));
- Log.d("AA", myImageButton.uri);
- mImageButton.setImageURI(Uri.parse(myImageButton.uri));
- }
- }
- ImgButtonAdapter(Context context) {
- this.context = context;
- db = context.openOrCreateDatabase("my.db", Context.MODE_PRIVATE, null);
- db.execSQL("CREATE TABLE IF NOT EXISTS \"t1\" (color INTEGER, uri TEXT)");
- Cursor cur = db.rawQuery("SELECT * FROM \"t1\"", null);
- if (cur.moveToFirst()) {
- do {
- MyImageButton myImageButton = new MyImageButton();
- myImageButton.color = cur.getInt(0);
- myImageButton.uri = cur.getString(1);
- list.add(myImageButton);
- } while (cur.moveToNext());
- }
- Log.d("AA", String.valueOf(list.size()));
- notifyDataSetChanged();
- }
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- ImageButton imageButton = new ImageButton(context);
- return new ViewHolder(imageButton);
- }
- @Override
- public void onBindViewHolder(ViewHolder holder, int position) {
- holder.bind(list.get(position));
- }
- @Override
- public int getItemCount() {
- return list.size();
- }
- public void add(MyImageButton myImageButton) {
- list.add(myImageButton);
- notifyItemInserted(list.size() - 1);
- ContentValues cv = new ContentValues();
- cv.put("color", myImageButton.color);
- cv.put("uri", myImageButton.uri);
- db.insert("\"t1\"",null, cv);
- }
- }
- class MyImageButton {
- Integer color = null;
- String uri = null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement