软件园学生在线

  • {{ item.name }}
  • 2023试用期

登录与注册

【蒋晓宇:第二次移动培训】移动真劝退,开摆

  • 蒋晓宇
  • 2022-10-22
  • 0

前言

第二次培训主要讲了滚动视图和DataStore,但是看不懂的话直接抄一遍也没啥意思,姑且是抄了这两个内容自己找了点方法优化了一下其他的方面。

学习途径

  • CSDN
  • 培训示范代码

学习内容

页面停留

private final int SPLASH_DISPLAY_LENGTH = 2000;

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                MainActivity.this.startActivity(intent);
                MainActivity.this.finish();
                }
            },SPLASH_DISPLAY_LENGTH);

以毫秒为计时单位停留后跳转,用于欢迎界面

隐藏标题栏

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();
        setContentView(R.layout.activity_main);

getSupportActionBar().hide();一行代码就能搞定,位置要在content前

检查输入格式

Pattern pattern = Pattern.compile("[A-Za-z0-9]*");
Matcher matcher1 = pattern.matcher(un);
boolean flag = matcher1.matches() 

设置格式,后面跟正则表达式,虽然看起来麻烦但是检查输入账号密码格式的话这样就行,长度用个if足够了
匹配则flag为true

Recyclerview

没啥好说的,只会抄,但是抄了四次就一次没有在RecyclerView.Adapter处标红,不清楚什么原因
其他倒没什么问题


import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class TodoAdapter extends RecyclerView.Adapter<TodoAdapter.TodoViewHolder> {
    static class TodoViewHolder extends RecyclerView.ViewHolder{
        private final TextView todotextview = itemView.findViewById(R.id.todo_item);

        public TodoViewHolder(@NonNull View itemView){
            super(itemView);
        }
        public void bind(String word){
            todotextview.setText(word);
        }
    }

    private final String[] todoList;

    public TodoAdapter(String[] todoList){
        this.todoList = todoList;
    }

    @NonNull
    @Override

    public TodoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.todo_item, parent , false);
        return new TodoViewHolder(view);
    }

    @Override
    public int getItemCount(){
        return todoList.length;
    }

    @Override
    public void onBindViewHolder(@NonNull TodoViewHolder holder, int position){
        holder.bind(todoList[position]);
    }
}

DataStore

姑且是抄了,但是用在自动登录方面的话大概需要在登录界面接收一组值存储,先鸽了

FAB

不清楚为啥叫这个名字,不知道和button有啥区别,但是在滚动布局高为match_parent的时候显示不出来,想要浮在滚动布局之上就得用到FrameLayout框架布局,逻辑和按钮几乎一样。

总结

一开始试图用AS自带的抽屉布局来完成滚动视图,但是发现总是有莫名奇妙的报错,后来还是放弃了。
移动真劝退,摆烂了

蒋晓宇
蒋晓宇
© 2025 软件园学生在线
Theme by Wing