关于RecyclerView的进一步使用和Menu的使用以及基于回调的接口监听事件

首先跟着老师复习了通过RecyclerView和RecyclerView.Adapter来实现ListView、GridView的方式

基本写法就不放了,肯定是先创建内部Holder类,然后是重写三个方法。以及通过Adapter类的构造方法来传递参数。

最后通过LineLayoutManager或者GridViewManager类来设置布局以及列数。

后来跟着老师学会了菜单的构建,这里需要注意,重写方法之后默认的菜单是生存在ActionBar也就是默认的标题栏,这里给出路径

 

 

 然后是menu的xml文件的配置。上次我们在使用底部导航栏的时候就已经用到了,这里再放送一下。

 

 

 这里的item是我们菜单的子条目,当然也可以嵌套使用,在item标签内部再次添加menu标签和item标签

id是唯一标识,在活动的重写方法中调用,titie就是我们菜单的名字。

复制代码
   @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.my_first_menu,menu);
        return super.onCreateOptionsMenu(menu);
    }
    //该方法用于处理菜单按钮的点击事件
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        return super.onOptionsItemSelected(item);
    }
复制代码

这里简单解释一下两个方法,第一个方法inflate的作用类似于findViewById 用来得到我们的menu文件,然后赋值给menu 最后添加到我们的ActionBar上面

第二个方法用于处理菜单按钮的点击事件,通过item.getId()方法可以获得我们menu.xml文件里面item的id,然后执行相应的代码。

还学习到了抽取一个基类Adapter,这个和我在学习JavaWeb时重写一个抽象的BaseServlet类有异曲同工之妙,都是省去了重复的工作,因为今天太困了,明天写一份代码再发。

最后学到的一个东西叫做基于回调的监听事件处理(大概是这么说吧  。  

先说一下关于ListView和RecyclerView吧。

首先我们可以通过ListView对象来setOnItemClickListener来给我们每一个元素设置监听事件,具体代码如下所示:

    ListView listView = new ListView(this);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            }
        });

但是RecyclerView并没有为我们提供这样一种方式。我们把对RecyclerView控件的一切操作都交给了Recycler.Adapter,所以我们在适配器里面去写接口和setonItemClick方法

然后在活动中通过adapter对象来调用set方法,然后由我们的适配器类来接收这个接口的实现类对象。

接着我们给每一个元素添加点击事件,注意这里的元素是我们的View类对象,也就是item.xml所对应的View对象可以获取到里面的子控件,

然后给View设置点击监听事件,在onClick方法里面通过我们的实现接口的对象来执行从活动传来的重写方法里面的代码,这个流程是非常值得我们学习的。

 

 

最后推荐一位老师,叫程序员拉大锯,应该算是我在B站学习历程以来听过最好的课了,大家可以去听一听,知识本来就是用来分享的嘛~

希望能一起进步吧!

 

posted @   -她的梦-  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
  1. 1 碧天伴走 MyGO!!!!!
  2. 2 影色舞 MyGO!!!!!
  3. 3 詩超絆 MyGO!!!!!
  4. 4 迷路日々 MyGO!!!!!
  5. 5 歌いましょう鳴らしましょう MyGO!!!!!
  6. 6 壱雫空 MyGO!!!!!
迷路日々 - MyGO!!!!!
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 藤原優樹

作曲 : 松坂康司

编曲 : 松坂康司

迷いながら 戸惑いながら歩く

めいろの中で 僕らは居合わせてた

名前のない感情 ああ 抱きしめてる

ちいさな一瞬 あつめたい

こぼれおちた 街のすみで

こぼれおちた 街のすみで

震えていた 昨日も

ちっぽけだって 隠さないでいたいよ

ちっぽけだって 隠さないでいたいよ

はみ出したまま 不揃いな僕らでも

いびつな言葉で ズレては すれ違ってさ

傷つけたことに 傷ついてる

それでもこの手を ほどかない

独りよがり あてもなくて

独りよがり あてもなくて

机の中 しまい込んでいた

ぐるぐる とまらない

ぐるぐる とまらない

くよくよ とめどない

隠れて 怯える 欠片と

僕はここで うたうよ

僕の中で うごめいていた熱が

僕の中で うごめいていた熱が

音に放たれ 覚束ない声色で

叫びだした

迷子のまま 曲がりくねった道でも

迷子のまま 曲がりくねった道でも

諦めなかった 僕らのしるしだから

まだ言葉にならない無数の声が

まだ言葉にならない無数の声が

胸の中 ああ 羽ばたく時を待ってる

ぎこちなくて 消えそうになる足音でも

隣で一緒に 奏でたいよ

迷っても 一生離れない

迷っても 一生離れない

点击右上角即可分享
微信分享提示