满足特定条件时禁用按钮

问题描述 投票:1回答:1

当数据库标题等于“读取”时,我想禁用该按钮。我的代码可以工作,但是会发生这种情况:

  1. 我是第一次参加活动(这本书尚未阅读。)>
  2. 我单击了按钮->变得被禁用
  3. 我返回到书籍列表,然后输入了同一本书(该按钮现在启用)
  4. 我转到第一个主页重复该场景,并在步骤3中被禁用
  5. 我需要禁用AlreadyRead按钮,而不必转到主页,如何?

我的代码:

public class BookData extends AppCompatActivity {

    private ArrayList<Book> books = new ArrayList<>();
    ImageView img;
    Button currently ,wantToRead, AlreadyRead, AddFavorites;
    TextView title,des;
    Book desierdBook;


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

        initViews();

        Intent i = getIntent();
        desierdBook =(Book) i.getSerializableExtra("obj");
        setData(desierdBook);
    }

    private void setData(Book book) {

        if(book.getState().equals("Read")){
            this.AlreadyRead.setEnabled(false);
        }

        title.setText(book.getTitle());
        des.setText(book.getDes());
        Picasso.get().load(book.getImg()).into(img);

    } 
}

当数据库标题等于“读取”时,我想禁用该按钮。我的代码可以工作,但是会发生这种情况:我是第一次进入活动(该书尚未阅读)。我单击了按钮--...

java android view
1个回答
0
投票

在我看来,您不是在数据库中“存储”该书的“已读”状态,但是我不确定,因为我看不到您的代码中单击“ AlreadyRead”时会发生什么。

© www.soinside.com 2019 - 2024. All rights reserved.