库库

XML:
<android.support.constraint.ConstraintLayout 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">

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/recy"/>
</android.support.constraint.ConstraintLayout>
java代码:

package com.example.mmaster.myapplicationku_ab;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

import com.example.mmaster.myapplicationku_ab.greendao.MyBeanDao;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private RecyclerView recy;
    public static MyBeanDao myBeanDao;
    private MyBean myBean;
    public static List<MyBean> myBeansku;
    public static MyAdapter myAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myBeanDao = App.getMyApp().getDaoSession().getMyBeanDao();

        initView();
        initData();
        initListener();
    }

    private void initListener() {
        myAdapter.setOnCliK(new MyAdapter.OnClik() {
            @Override
            public void OnCliklistener(final int position) {
                AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).setTitle("提示")
                        .setMessage("请选择!")

                        .setNegativeButton("修改!", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Intent intent = new Intent(MainActivity.this, Xiu_Gai_Activity.class);
                                intent.putExtra("id",position);
                                startActivity(intent);
                            }
                        })
                        .setPositiveButton("删除!", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                MyBean remove = myBeansku.remove(position);
                                myBeanDao.delete(remove);
                               myAdapter.notifyDataSetChanged();
                            }
                        })
                        .create();
                dialog.show();
            }
        });
    }

    private void initData() {
        for (int i = 0; i < 20; i++) {
            myBean = new MyBean(null, R.mipmap.ic_launcher, "小强" + i, "爱学习" + i);
            myBeanDao.insert(myBean);

        }

        myBeansku = myBeanDao.loadAll();

        myAdapter = new MyAdapter(myBeansku, this);
        recy.setAdapter(myAdapter);
    }

    private void initView() {
        recy = (RecyclerView) findViewById(R.id.recy);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        recy.setLayoutManager(linearLayoutManager);
    }

}

Java 修改

<?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="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".Xiu_Gai_Activity">

    <EditText
        android:id="@+id/e_name"
        android:layout_width="100dp"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/e_content"
        android:layout_width="100dp"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/tijiao"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="提交" />
</LinearLayout>
修改

package com.example.mmaster.myapplicationku_ab;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.mmaster.myapplicationku_ab.greendao.MyBeanDao;

public class Xiu_Gai_Activity extends AppCompatActivity implements View.OnClickListener {

    private EditText e_name;
    private EditText e_content;
    private Button tijiao;
    private MyBeanDao myBeanDao;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xiu__gai_);
        myBeanDao = App.getMyApp().getDaoSession().getMyBeanDao();

        initView();


    }

    private void initView() {
        e_name = (EditText) findViewById(R.id.e_name);
        e_content = (EditText) findViewById(R.id.e_content);
        tijiao = (Button) findViewById(R.id.tijiao);

        tijiao.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tijiao:
                submit();
                finish();
                break;
        }
    }

    private void submit() {
        // validate
        String name = e_name.getText().toString().trim();
        if (TextUtils.isEmpty(name)) {
            Toast.makeText(this, "name不能为空", Toast.LENGTH_SHORT).show();
            return;
        }

        String content = e_content.getText().toString().trim();
        if (TextUtils.isEmpty(content)) {
            Toast.makeText(this, "content不能为空", Toast.LENGTH_SHORT).show();
            return;
        }

        // TODO validate success, do something
        Intent intent = getIntent();
        int id = intent.getIntExtra("id", 0);
        MyBean myBean1 = MainActivity.myBeansku.get(id);
        myBean1.setContent(content);
        myBean1.setName(name);
        MainActivity.myBeansku.set(id,myBean1);
        MainActivity.myBeanDao.update(myBean1);
        MainActivity.myAdapter.notifyDataSetChanged();

    }
}
MyAdapter

package com.example.mmaster.myapplicationku_ab;

import android.content.Context;
import android.media.Image;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;

import org.w3c.dom.Text;

import java.util.List;

/**
 * Created by mMaster
 * on 2018/5/10.
 * at 北京
 */
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Holder> {

    private List<MyBean> myBeansku;
    private Context mc;
    private OnClik onClik;

    public MyAdapter(List<MyBean> myBeansku, Context mc) {
        this.myBeansku = myBeansku;
        this.mc = mc;
    }

    @NonNull
    @Override
    public MyAdapter.Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View inflate = LayoutInflater.from(mc).inflate(R.layout.item,parent,false);
        return new Holder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull MyAdapter.Holder holder, final int position) {
        holder.content.setText(myBeansku.get(position).content);
        holder.name.setText(myBeansku.get(position).name);
        Picasso.with(mc).load(myBeansku.get(position).getImg()).into(holder.img);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onClik.OnCliklistener(position);
            }
        });
    }

    @Override
    public int getItemCount() {
        return myBeansku.size();
    }

    public class Holder extends RecyclerView.ViewHolder {

        private final TextView content;
        private final TextView name;
        private final ImageView img;

        public Holder(View itemView) {
            super(itemView);
            img = itemView.findViewById(R.id.img);
            name = itemView.findViewById(R.id.name);
            content = itemView.findViewById(R.id.content);
        }
    }
    public interface OnClik{
        void OnCliklistener (int position);
    }
    public void setOnCliK(OnClik onClik){
        this.onClik=onClik;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41835113/article/details/80277120