为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第1季)

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • https://img1.sycdn.imooc.com//5c3f43700001f35a13900853.jpgontouchevent

    查看全部
  • 监听器的作用https://img1.sycdn.imooc.com//5c3c858800017f1d12850718.jpg

    查看全部
  • //1.新建适配器
    //2.将数据源放入适配器
    //3.视图加载适配器
    ListView lv = (ListView)findViewById(R.id.list_view);
    String[] str = {"一","二","三"};
    ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1,str);
    lv.setAdapter(arr);


    查看全部
    0 采集 收起 来源:使用ArrayAdapter

    2018-12-29

  • GridView关键属性:

    android:hotizontalSpacing 两列之间的间距

    android:verticalSpacing 两行之间的间距

    android:numColumns 每行显示几列

    查看全部
    0 采集 收起 来源:监听事件

    2018-12-26

    1. DatePicker对象以init()这个方法来指定DatePicker初始的年、月、日及OnDateChangedListener()的事件;而TimePicker对象则是直接以setOnTimeChangedListener()事件来处理时间改变时程序要做的操作。

    2. DatePickerDialogTimePickerDialog与前面这两种类型的对象的差别在于DatePickerTimePicker是直接显示在屏幕画面上,而DatePickerDialogTimePickerDialog对象则是以弹出Dialog的方式来显示

    查看全部
    0 采集 收起 来源:总结

    2018-12-25

    1. SimpleAdapter的构造方法中参数很多,写的时候不要着急,要对应好布局文件中的id

    2. 监听器适配器是通用与很多android空件上,不局限于ListView

    3. 通过setOnScrollListener;监听用户手指滑动的动作,其实,我们常见的列表下拉刷新就是依此拓展出来的!

    4. 运用notifyDatasetchanged,动态更新视图中所包含的数据

    查看全部
    0 采集 收起 来源:总结

    2018-12-24

  • 监听器

    作用:

    Android提供了很多事件监听器,监听器主要是为了去响应某个动作(动作的发起者可以是用户的操作也可以是android系统本身),我们可以通过监控这种动作行为,来完成我们需要的程序功能。

    OnItemClickListener:

    可以处理视图中单个条目的点击事件

    OnScrollListener:

    监听滚动的变化,可以用于视图在滚动中加载数据

    监听器是程序和用户(或者系统)交互的桥梁

    实现过程:

    视图中直接设置监听器,在相关的实现方法中补充需要的代码即可

    查看全部
  • IDE: Android Stuidio 3.2.1

    ListViewMainActivity.java

    public class ListViewMainActivity extends Activity {
    
        private ListView listView;
        private ArrayAdapter<String> arrayAdapter;
        private SimpleAdapter simpleAdapter;
        private List<Map<String,Object>> dataList;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            /**
             * Adapter
             * 1. 新建一个数据适配器
             *    ArrayAdapter(上下文,当前listView加载的每一个列表项对应的布局文件,数据源)
             * 2. 适配器加载数据源
             * 3. 视图(ListView)加载适配器
             */
            //listView = findViewById(R.id.listView);
            //String[] arrayData = {"imooc1", "imooc2", "imooc3", "imooc4"}; // 适配器用到的数据
            //新建的数据适配器
            //arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayData);
            //视图(ListView)加载适配器
            //listView.setAdapter(arrayAdapter);
    
            /**
             * SimpleAdapter
             * 1. 新建一个数据适配器
             *    SimpleAdapter(context,data, resource, from, to);
             * context: 上下文
             * data: 数据源,一个Map所组成的List集合,
             *        每一个Map都会去对应ListView列表中的一行
             *        每一个Map(键-值对)中的键必须包含所有在from所指定的键
             * resource:列表项的布局文件ID
             * from:Map中的键名
             * to: 绑定数据视图中的ID,与From成对应的关系
             */
            listView = findViewById(R.id.listView);
            dataList = new ArrayList<Map<String,Object>>();
            simpleAdapter = new SimpleAdapter(this, getdata(), R.layout.item, new String[]{"picture","itemText"}, new int[]{R.id.picture, R.id.itemText});
            listView.setAdapter(simpleAdapter);
        }
    
        private List<Map<String,Object>> getdata(){
    
            for (int i = 0; i < 20; i++) {
                Map map = new HashMap();
                map.put("picture",R.mipmap.ic_snowman);
                map.put("itemText", "Snowman"+i);
                dataList.add(map);
            }
    
            return dataList;
        }
    }


    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </ListView>
    
    </LinearLayout>


    item.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    
    <ImageView
        android:id="@+id/picture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:src="@mipmap/ic_snowman">
    </ImageView>
    
    <TextView
        android:id="@+id/itemText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20dp"
        android:textColor="#0000f0"
        android:text="Snowman"/>
    
    </LinearLayout>


    查看全部
    0 采集 收起 来源:使用SimpleAdapter

    2018-12-22

  • ListViewMainActivity.java

    public class ListViewMainActivity extends Activity {
    
        private ListView listView;
        private ArrayAdapter<String> arrayAdapter;
        private SimpleAdapter simpleAdapter;
        private List<Map<String,Object>> dataList;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            /**
             * Adapter
             * 1. 新建一个数据适配器
             *    ArrayAdapter(上下文,当前listView加载的每一个列表项对应的布局文件,数据源)
             * 2. 适配器加载数据源
             * 3. 视图(ListView)加载适配器
             */
            listView = findViewById(R.id.listView);
            String[] arrayData = {"imooc1", "imooc2", "imooc3", "imooc4"}; // 适配器用到的数据
            //新建的数据适配器
            arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayData);
            //视图(ListView)加载适配器
            listView.setAdapter(arrayAdapter);
        }
    }


    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </ListView>
    
    </LinearLayout>


    查看全部
    0 采集 收起 来源:使用ArrayAdapter

    2018-12-22

  • string
    查看全部
    0 采集 收起 来源:使用SimpleAdapter

    2018-12-18

  • 此方法重点掌握

    查看全部
  • Fragment和Activity相互通信的方法

    查看全部
  • 适配器的notifyDataSetChanged用于数据的刷新。
    查看全部
    0 采集 收起 来源:应用场景介绍

    2018-12-02

  • 动态加载fragment
    查看全部
  • 多个fragment切换
    查看全部
  • 多个fragment
    查看全部
  • 多个fragment
    查看全部
  • ListView相关的适配器,监听器

    查看全部
    0 采集 收起 来源:课程目标

    2018-11-27

  • 广播接收者相当于全局事件的接收器

    查看全部
  • 新的盲点,新的方法,

    在打开弹出框,不管是dialog还是popupWindow等等的弹出框时,

    先判断是否为空==null

    当为空的时候开始部署

    同样在关闭时先判断是否为空并且正在显示

    当都满足时 执行.dismiss()方法

    并且将其制空==null

    查看全部
  • adapter.notifyDataSetChanged()

    通知UI数据改变

    查看全部
  • Content Provider 管理数据库访问以及程序内或程序间数据共享的

    <provider android:name="com.example.manifest.provider">

    </provider>

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
本课程是Android开发课程进阶部分的第1季,将讲解各种高级控件的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前: 1、熟练掌握Java基础语法和面向对象编程 2、熟悉Android开发环境 3、熟练使用Button、ImageView等基础控件
老师告诉你能学到什么?
1、Android高级控件的应用场景 2、Android高级控件的使用方法 3、熟悉Android常用高级控件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!