簡體   English   中英

鎖定下一項 RecyclerView

[英]Lock next item RecyclerView

我正在制作一個帶有RecyclerView的模塊列表,我在其中輸入一個 module1,打開另一個 Activity 及其內容,然后按下確認按鈕,我希望它解鎖下一個 module2。 但是,我什至無法阻止下一個項目。 我想知道有沒有辦法做到這一點? 這就像我完成第 1 階段並發布第 2 階段的下一個任務。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_treinamento);
    recyclerView = findViewById(R.id.recyclerView);


    //List of Modules
    this.createModules();

    //ConfigAdapter
    Adapter adapter = new Adapter( listmodule );

    //Config Recycler View
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setHasFixedSize(true);
    recyclerView.setAdapter(adapter );

    //
    //click event
    recyclerView.addOnItemTouchListener(
            new RecyclerItemClickListener(
                    getApplicationContext(),
                    recyclerView,
                    new RecyclerItemClickListener.OnItemClickListener() {
                        @Override
                        public void onItemClick(View view, int position) {
                            Module module = listmodule.get(position);
                            Intent i = new Intent(getApplicationContext(), StaticModules.class);
                            i.putExtra("module_text", module.getModule());
                            i.putExtra("info_text", module.getInfo());
                            startActivity(i);



                        }

                        @Override
                        public void onLongItemClick(View view, int position) {

                        }

                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                        }
                    }
            )
    );
}



public void createModules() {

    Module module = new Module("Módulo 1", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 2", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 3", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 4", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 5", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 6", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );

    module = new Module("Módulo 7", "Lorem ipsum dolor sit amet,");
    this.listmodule.add( module );


}
}

嘗試這個

  1. 首先像這樣添加鎖定在模塊 class 中的 boolean 變量

私有 boolean 鎖定;

初始化它

Module module = new Module("Módulo 1", "Lorem ipsum dolor sit amet,",true);
this.listmodule.add( module );
  1. 然后在你的 OnItemClickListener

     Module module = listmodule.get(position); if(module.locked) { Toast.makeText(activity.this, "Module Locked", Toast.LENGTH_SHORT).show(); } else { Intent i = new Intent(getApplicationContext(), StaticModules.class); i.putExtra("module_text", module.getModule()); i.putExtra("info_text", module.getInfo()); startActivity(i); }
  2. 並在確認按鈕更新模塊的鎖定狀態為假

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM