毕设记录(二)

第一讲课程记录


一些老师的话在文件中已经记录,下面主要整理步骤

新建Button

在activity_main.xml中新建一个组件,同时解决了大写问题(Mainfests中theme textALLCap)

<Button
        android:id="@+id/button1"
        android:text="Button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:ignore="MissingConstraints" />

组件一定有id,id在别的位置用来代替这个组件发现没有最后一行会报错?(视频中没有提到)

图片1.12补充

新建Toast(土司?)

(在button上)
点击button触发事件用的是setOnClickListener()

public void initView(){
        button1 = findViewById(R.id.button1);
        //为按钮添加监听器
        button1.setOnClickListener(new View.OnClickListener() {//匿名的OnClickListener接口
            @Override
            public void onClick(View v) {//接口都是抽象类,实现接口要重写接口中的抽象方法
                //onClick方法会在button1这个按钮按下时自动被调用
                Toast.makeText(MainActivity.this, "Hello MainActivity", Toast.LENGTH_LONG).show();
                //上下文,显示文本,显示时长(long和short),一般用来显示提示性文本
            }
        });
    }

具体在这一段可以看到。
(某些java基本知识要去补一下)

新建mune

在res文件夹下新建一个文件夹menu(名字必须是这个,一点都不能改)
在menu文件夹下新建一个Menu Resource File

每当添加一个新的组件(活动)都要在资源+活动中一起添加
因此,我们在menu.xml中添加

<item android:id="@+id/add_item" android:title="Add"/>
<item android:id="@+id/remove_item" android:title="Remove"/>

在MainActivity中添加

@Override
    public boolean onCreateOptionsMenu(Menu menu) {//一个重写的方法,主要用来创建重写的菜单
        getMenuInflater().inflate(R.menu.menu,menu);//menuRes,menu,前面的是来源于的资源(我们创建的),后面是括号里传进来的参数
        //return super.onCreateOptionsMenu(menu);
        return true;//保证选项菜单的顺利创建
    }

可以通过直接Reply changes改变而不用直接运行(好像报错?,亟待解决)

报错提示:添加新方法需要重新启动应用。

给OptionsMenu添加点击活动(显示一个Toast)

在MainActivity中添加

@Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {//当选项item被选中
        switch (item.getItemId()){//由于有多个item因此分支
            case R.id.add_item:
                Toast.makeText(this, "Add_item clicked", Toast.LENGTH_SHORT).show();
                break;
            case R.id.remove_item:
                Toast.makeText(this, "Remove_item clicked", Toast.LENGTH_SHORT).show();
                break;

        }
        return super.onOptionsItemSelected(item);
    }
原文地址:https://www.cnblogs.com/LOW-ctfer/p/14268156.html