导航传值到Fragment(基本应用)
来源:互联网 发布:java notifyall 编辑:程序博客网 时间:2024/06/16 15:09
Mainactivity-XML文件:
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/dl" tools:context="com.example.day21_daohangchuanzhi.MainActivity"> <FrameLayout android:id="@+id/fl" android:layout_width="wrap_content" android:layout_height="wrap_content"></FrameLayout> <ListView android:background="@color/colorAccent" android:id="@+id/lv" android:layout_width="150dp" android:layout_height="fill_parent" android:layout_gravity="start" android:choiceMode="singleChoice"></ListView></android.support.v4.widget.DrawerLayout>
主代码:
import android.os.Bundle;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import java.util.ArrayList;public class MainActivity extends AppCompatActivity { private DrawerLayout dl; ArrayList<String> list = new ArrayList<>(); private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取控件 dl = (DrawerLayout) findViewById(R.id.dl); lv = (ListView) findViewById(R.id.lv); //初始化数据 initData(); //点击事件 lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Fragment fragment = Fragment.getInit(list.get(i));//获取导航里的Item的值 getSupportFragmentManager().beginTransaction().replace(R.id.fl,fragment).commit(); dl.closeDrawer(lv);//关闭抽屉 } }); } private void initData() { for (int i = 0; i < 10; i++) { list.add("猎场第"+i+"集"); } //适配器 Myadpater md = new Myadpater(); lv.setAdapter(md); } private class Myadpater extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if (view == null) { view = View.inflate(MainActivity.this, R.layout.datatext, null); } TextView textView = view.findViewById(R.id.text); textView.setText(list.get(i)); return view; } }}Fragment代码:import android.os.Bundle;import android.support.annotation.Nullable;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class Fragment extends android.support.v4.app.Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_fragment, null); TextView textView = view.findViewById(R.id.text2); Bundle bundle = getArguments(); String name = (String) bundle.get("name"); textView.setText(name); return view; } //静态方法,把自己返回;并且可以把传过来的参数封装到自己里面; public static Fragment getInit(String str){ Fragment fragment = new Fragment(); Bundle bundle = new Bundle(); bundle.putString("name",str); fragment.setArguments(bundle); return fragment; }}
阅读全文
0 0
- 导航传值到Fragment(基本应用)
- Fragment基本应用(一)
- Fragment基本应用(二)
- Fragment的基本应用
- Fragment基本应用
- Fragment的基本应用
- Fragment的基本应用
- Fragment的应用之底部导航栏的实现(二)之应用ViewPager
- Android开发——Fragment简单示例(二)制作一个应用菜单导航栏
- Fragment的应用之底部导航栏的实现(一)
- App底部导航(Fragment与ActivityGroup)
- kotlin 底部导航栏(tabLayout + fragment)
- 主流移动应用开发框架(2)——fragment+fragmenttabhost实现底部选项卡导航(可滑动切换)
- 安卓开发--应用市场的界面制作(一)--viewpager+fragment实现可滑动的底部导航栏
- 【UWP通用应用开发】应用布局、基本导航
- Fragment基本使用(二)
- Fragment窗口导航
- Fragment实现底部导航
- 为什么要使用分布式锁
- JavaScript、Ajax与jQuery的关系
- 最顶级的AI科学家正在离开大学:不止财务自由的诱惑
- 复现与复现图笔记(1)
- 结构体字节对齐
- 导航传值到Fragment(基本应用)
- 大数据早报:「药研社」获数千万元Pre-A轮融资 科学家用VR处理高分辨率影像数据(11.21)
- classpath:/ 与 classpath*:/ 引发的问题总结
- leetcode 365. Water and Jug Problem
- 学习python过程遇到的问题与记录
- C#增删改查操作Access数据库之二(数据库的增加)
- tomcat下载安装教程
- mysqldump定时备份脚本
- SSD(Single Shot MultiBox Detector)笔记