首页 > 其他分享 >安卓家庭记账本开发笔记7(补2月3日)

安卓家庭记账本开发笔记7(补2月3日)

时间:2024-02-22 19:23:11浏览次数:29  
标签:fragmentList 安卓 笔记 example record 记账 import com public

完成收支记录界面的逻辑编写

代码如下:

package com.example.myapplication1;

import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.widget.ViewPager2;
import com.example.myapplication1.adapter.RecordPagerAdapter;
import com.example.myapplication1.frag_record.IncomeFragment;
import com.example.myapplication1.frag_record.BaseRecordFragment;
import com.example.myapplication1.frag_record.OutcomeFragment;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import java.util.ArrayList;
import java.util.List;

public class RecordActivity extends AppCompatActivity {
TabLayout tabLayout;
ViewPager2 viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
tabLayout = findViewById(R.id.record_tabs);
viewPager = findViewById(R.id.record_vp);
initPager();

View button = findViewById(R.id.record_iv_back);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});

}

private void initPager() {
List<Fragment> fragmentList = new ArrayList<>();
OutcomeFragment outFrag = new OutcomeFragment();
IncomeFragment inFrag = new IncomeFragment();
fragmentList.add(outFrag);
fragmentList.add(inFrag);

RecordPagerAdapter pagerAdapter = new RecordPagerAdapter(this, fragmentList);

viewPager.setAdapter(pagerAdapter);

new TabLayoutMediator(tabLayout, viewPager,
(tab, position) -> tab.setText(pagerAdapter.getPageTitle(position).toString())
).attach();
}

}
相关适配器文件recordpageradapter
代码如下:
package com.example.myapplication1.adapter;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.example.myapplication1.RecordActivity;

import java.util.List;

public class RecordPagerAdapter extends FragmentStateAdapter {
List<Fragment> fragmentList;
String[] titles = {"支出", "收入"};

public RecordPagerAdapter(@NonNull RecordActivity fragment, List<Fragment> fragmentList) {
super(fragment);
this.fragmentList = fragmentList;
}

@NonNull
@Override
public Fragment createFragment(int position) {
return fragmentList.get(position);
}

@Override
public int getItemCount() {
return fragmentList.size();
}

public String getPageTitle(int position) {
return titles[position];
}
}
接着在主界面的代码上面加上点击“记一笔”跳转到收支界面的点击事件代码




标签:fragmentList,安卓,笔记,example,record,记账,import,com,public
From: https://www.cnblogs.com/czfznb/p/18027984

相关文章

  • 安卓家庭记账本开发笔记6(补2月2日)
    完成自定义软键盘的绘制和逻辑编写在res文件夹中创建一个文件包命名为xml。在里面创建一个名为key的xml文件,在其中完成自定义软键盘的绘制代码如下:<?xmlversion="1.0"encoding="utf-8"?><Keyboardxmlns:android="http://schemas.android.com/apk/res/android"......
  • 安卓家庭记账本开发笔记5(补2月1日)
    完成自定义软键盘的编写以及软键盘上面的备注和时间在记录页面的代码底下加上下面的代码<android.inputmethodservice.KeyboardViewandroid:id="@+id/frag_record_keyboard"android:layout_width="match_parent"android:layout_height="wrap_content"......
  • 【图论】基环树 学习笔记
    基环树下面几个条件互相等价:一个图(连通块)是基环树联通块有n个点n条边图上存在且仅存在一个环,且环上每个节点是一颗子树的根。通常情况下树指的都是无向图,但是有向图也可以构成基环树。内向基环树:每个点都有一条出边。容易发现沿着这条边一定会走到环上“向内走”。外......
  • Vue学习笔记11--事件
    示例一:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Vue事件的基本使用</tit......
  • 概率与期望学习笔记(copy)
    概率&期望样本空间、随机事件定义一个随机现象中可能发生的不能再细分的结果被称为样本点。所有样本点的集合称为样本空间,通常用\(\Omega\)来表示。一个随机事件是样本空间\(\Omega\)的子集,它由若干样本点构成,用大写字母\(A,B,C,\cdots\)表示。对于一个随机现......
  • Python笔记11——函数
    十一、函数函数的作用:提高模块化程度,提高代码重复利用率。11.1定义一个函数一般格式:def函数名(参数列表):函数体以def关键字开头,后接函数标识符名称和圆括号()。所需参数必须都在圆括号中声明。(默认参数值和参数名称是按函数声明中定义的顺序匹配起来的。)函数内容以......
  • 《程序是怎么跑起来的》第2章读书笔记
    在看完第1章计算机的构造和其原理之后,就来到了第2章与其数据有关的理解。那么电脑里的数据是怎样来处理的呢?从第2章的学习中我理解到计算机它只有零和一两种数字而其他的都是由这两种数字来组成的。也就是说外界通过01的组成多种多样的类型来表现出不同的东西,从而展示给观看者。它......
  • 安卓数据库操作
    安卓数据库的操作:今天主要学了下安卓数据库方面的简单知识。数据库主要用于复杂的数据储存。安卓数据库简介:安卓SQLite数据库是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百KB的内存就足够了。SQLite不仅支持标准的SQL语法,还遵循了数据库的ACID事......
  • Vue学习笔记10--数据代理
    数据代理:通过一个对象代理对另一个对象属性的操作(读或写) 代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">......
  • 如何保障员工在外出办公时,笔记本电脑内的重要资料的安全?
    在当今高度移动化的商务环境中,外出办公已经成为了一种常态。但同时,这也带来了一个新的安全问题:如何保证员工在外出办公时,笔记本电脑内的重要资料的安全?现在,让我们一起来看看华企盾DSC数据防泄密系统是如何解决这个问题的。华企盾DSC数据防泄密系统提供了多种针对性的解决方案。......