设计这个demo很简单,针对每个控件放到一个listitem中去,主activity继承之listActivity,这样再override其单击效果进入到每个控件。

主界面流程

1.继承

MainActivity extends ListActivity 

主类继承之ListActivity。这样就具有了listview的样式,当然你可以继承activity,layout中定义布局ListView的控件来使用,我主要有一篇主要来讲解ListView所以这边使用了这个类。

2.定义数据源

 ArrayAdapter<item> adapter = new ArrayAdapter<item>(this,
R.layout.simple_list_item_1, im);
item []im = {
new item(TextView.class, "TextView"),
new item(TextView.class, "Editor"),
new item(TextView.class, "ListView"),
new item(TextView.class, "Dialog"),
new item(TextView.class, "Toast"),
new item(TextView.class, "Button"),
new item(TextView.class, "RadioButton"),
new item(TextView.class, "Checkbox"),
new item(TextView.class, "Progressbar"),
new item(TextView.class, "SeekBar"),
new item(TextView.class, "Spinner"),
new item(TextView.class, "SubTab"),
new item(TextView.class, "ActionBar"),
new item(TextView.class, "Preference"),
new item(TextView.class, "FastScroll")
};
ArrayAdapter适配器,配置定义的数据源,其中item是继承之intent类型
class item extends Intent {
String str;
public item(Class<?> c, String s){
super(MainActivity.this,c);
str = s;
}
@Override
public String toString(){
return str;
}
}
super(MainActivity.this,c)是Intent(context,class<?>),context是获取包名。

3.定义响应函数

protected void onListItemClick(ListView l, View v, int position, long id) {
startActivity(adapter.getItem(position));
}

每一行(row)都可以被选择。我们可以借由设置这个onListItemClick()函数,来得到用户正选择了哪一列的信息,并做后续处理,比如单击跳转。

效果如下

												

android-基础编程-democoderjoy-架构篇的更多相关文章

  1. Android基础学习第三篇—Intent的用法

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  2. android基础篇学习心得

    android技术中,线程.进程.JNI.IPC和各个小框架结构是基本功.在跟随高焕堂老师的android程序猿到架构师之路系列视频中 学习完基础篇之后,颇有些心得,记录下来. android开发就是 ...

  3. 零基础从实践出发学java编程【总结篇】

    1.背景 很多人学习java的第一步就是系统的学习java基础语法,有的java基础语法还没学完就崩溃了,确实java基础语法太多太细,而且都是理论,学着让人很懵: 好不容易学完基础语法,又要学框架. ...

  4. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  5. 基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET

    基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET 基于libevent, libuv和android L ...

  6. Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

    系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...

  7. Android网络编程(十)Retrofit2后篇[注解]

    G相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley用法全解析 An ...

  8. android: 多线程编程基础

    9.1   服务是什么 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那 些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使 ...

  9. Android网络编程基础

    Android网络编程只TCP通信 TCP 服务器端工作的主要步骤如下.步骤1 调用ServerSocket(int port)创建一个ServerSocket,并绑定到指定端口上.步骤2 调用acc ...

  10. 高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离

    实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_ ...

随机推荐

  1. 解决sublime3不能编辑插件default settings的问题

    一.遇见问题 今天给sublime安装了View In Browser,想更改一下默认启动的浏览器 preferences-Package settings-View In Browser-setti ...

  2. Numpy 基础运算

    numpy的几种运算 1.一维矩阵运算 >>> import numpy as np >>> a=np.array([10,20,30,40]) # array([ ...

  3. mysql使用存储过程,自动生成新的表单

    use mydb; delimiter // CREATE procedure create_table(In imax int) BEGIN DECLARE `@i` int(11);      D ...

  4. Configuration Reference In Vue CLI 3.0

    Configuration Reference This project is sponsored by  #Global CLI Config Some global configurations ...

  5. 【Selenium】通过xpath定位svg元素

    SVG 意为可缩放矢量图形(Scalable Vector Graphics)定位svg元素要用xpath的name()函数,比如//svg/line[2],要用//*[name()='svg']/* ...

  6. 第五周Java学习总结(补)

    第五周java学习内容(补) 学习内容: File类方法的操作 public String getName() public boolean canRead() public boolean canW ...

  7. 拼图类APP原型模板分享——简拼

    简拼是一款记录美好.抒写情怀的拼图APP,模板设计风格简约文艺,种类齐全. 此原型模板所用到的组件有标签组.水平分隔线.圆形工具.交互动作有结合标签组实现页面跳转,选择组件触发按钮状态变化等. 此原型 ...

  8. Vim on Mac Terminal

    2018-04-15 在Python 里面加标注, 发现Vim强大的两种用法, 比如要在1-5行加标注: 1. 用寻找和替代(basic search and replace),:1, 5s/^/# ...

  9. android 使用webview 加载网页

    1. <WebView android:id="@+id/webView" android:layout_width="fill_parent" andr ...

  10. iOS中堆和栈的区别

    管理方式: 对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来讲,释放工作有程序员控制,容易产生memory Leak. 申请大小: 栈:在Windows下,栈是向低地址扩展的数据结构,是一块 ...