如果没有要删除的注释该如何关闭应用程序?

问题描述

因此,我正在为哈佛大学的CS50开发一个Android Note应用程序,并且我在努力使用删除按钮。当我没有要删除的笔记时,我的删除按钮使我关闭了该应用程序。没有笔记时如何启用或禁用删除按钮?此外,当我没有要删除的笔记时,我不想关闭该应用程序。

对MainActivity.java文件有任何建议吗,或者我需要对Main_Activity.xml文件进行更改吗?

主要活动代码

@H_404_7@package edu.harvard.cs50.notes;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.linearlayoutmanager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.room.Room;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

public class MainActivity extends AppCompatActivity {
    private RecyclerView recyclerView;
    private RecyclerView.LayoutManager layoutManager;
    private NotesAdapter adapter;
    public static NotesDatabase database;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        database = Room
            .databaseBuilder(getApplicationContext(),NotesDatabase.class,"notes")
            .allowMainThreadQueries()
            .build();

        recyclerView = findViewById(R.id.recycler_view);
        layoutManager = new linearlayoutmanager(this);
        adapter = new NotesAdapter();

        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);

        FloatingActionButton fab = findViewById(R.id.add_note_button);
        fab.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                database.noteDao().create();
                Toast.makeText(MainActivity.this,"New note made",Toast.LENGTH_SHORT).show();
                adapter.reload();
            }
        });

        final FloatingActionButton delete = findViewById(R.id.delete_button);

        delete.setonClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                Toast.makeText(MainActivity.this,"Note deleted",Toast.LENGTH_SHORT).show();
                adapter.deleteNode();
                delete.setEnabled(! Note.empty());
            }

        });

    }

    @Override
    protected void onResume() {
        super.onResume();

        adapter.reload();
    }
    public void delete(View view){
        view = this.recyclerView;
        delete(recyclerView.findContainingItemView(view));
        //finish();
    }
}

Main_Activity.xml文件

@H_404_7@<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/add_note_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:tint="@color/cardview_light_background"
        app:backgroundTint="#03DAC5"
        app:srcCompat="@android:drawable/ic_input_add" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/delete_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|left"
        android:layout_margin="16dp"
        android:tint="@color/cardview_light_background"
        app:backgroundTint="@color/design_default_color_primary_dark"
        app:srcCompat="@android:drawable/ic_delete"
        android:enable="false"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout> 

我的记事应用布局的照片: https://imgur.com/a/aU2052L

谢谢您的时间!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)