技术标签: ★十、Android★ ArrayAdapter
ArrayAdapter数组适配器用于绑定格式单一的数据,数据源可以是集合或者数组
列表视图(ListView)以垂直的形式列出需要显示的列表项。
实现过程:新建适配器->添加数据源到适配器->视图加载适配器
第一种:直接用ListView组件创建
列表每一行只有一行文字
效果如图:
activity_list布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/holo_blue_dark"
android:dividerHeight="1dp"
android:entries="@array/list"></ListView>
<!--
ListView 是列表控件,用于显示一组或许多(成百、上千)相似内容用的
android:divider :表示listview的分割线
android:dividerHeight:表示分割线的高度
android:entries:在res/layout的string.xml中添加数组资源的名称
-->
</LinearLayout>
android:entries="@array/list"></ListView>
<!--
ListView 是列表控件,用于显示一组或许多(成百、上千)相似内容用的
android:divider :表示listview的分割线
android:dividerHeight:表示分割线的高度
android:entries:在res/layout的string.xml中添加数组资源的名称
-->
</LinearLayout>
在res/layout的string.xml中添加数组资源的名称
<resources>
<string name="app_name">ArrayAdapter数组适配器</string>
<string-array name = "list"> <!--数组资源名称为list 与layout中对应-->
<item>第一行</item>
<item>第二行</item>
<item>第三行</item>
<item>第四行</item>
<item>第五行</item>
<item>第六行</item>
<item>第七行</item>
<item>第八行</item>
<item>第九行</item>
<item>第十行</item>
<item>第十一行</item>
<item>第十二行</item>
<item>第十三行</item>
</string-array>
</resources>
<string-array name = "list"> <!--数组资源名称为list 与layout中对应-->
<item>第一行</item>
<item>第二行</item>
<item>第三行</item>
<item>第四行</item>
<item>第五行</item>
<item>第六行</item>
<item>第七行</item>
<item>第八行</item>
<item>第九行</item>
<item>第十行</item>
<item>第十一行</item>
<item>第十二行</item>
<item>第十三行</item>
</string-array>
</resources>
MainActivity.java:
package com.ied.arrayadapter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
listView = (ListView) findViewById(R.id.lv_list);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String result = parent.getItemAtPosition(position).toString();//获取选择项的值
Toast.makeText(MainActivity.this,"您点击了"+result,Toast.LENGTH_SHORT).show();
}
});
}
}
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
listView = (ListView) findViewById(R.id.lv_list);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String result = parent.getItemAtPosition(position).toString();//获取选择项的值
Toast.makeText(MainActivity.this,"您点击了"+result,Toast.LENGTH_SHORT).show();
}
});
}
}
第二种:
三个参数 (使用android自带的 android.R.layout.simple_list_item_1)
activity_list布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/holo_blue_dark"
android:dividerHeight="1dp"></ListView>
</LinearLayout>
MainActivity.java:
package com.ied.arrayadapter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> arrayAdapter;
private SimpleAdapter simpleAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
listView = (ListView) findViewById(R.id.lv_list);
String data[] = {"1","2","3","4","5","6","7","8","9","10","11","12","13"};
//创建数组适配器,作为数据源和列表控件联系的桥梁
//第一个参数:上下文环境
//第二个参数:当前列表项加载的布局文件
//第三个参数:数据源
arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
//listview视图加载适配器
listView.setAdapter(arrayAdapter);
//为列表视图中选中的项添加响应事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String result = parent.getItemAtPosition(position).toString();//获取选择项的值
Toast.makeText(MainActivity.this,"您点击了"+result,Toast.LENGTH_SHORT).show();
}
});
}
}
arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
//listview视图加载适配器
listView.setAdapter(arrayAdapter);
//为列表视图中选中的项添加响应事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String result = parent.getItemAtPosition(position).toString();//获取选择项的值
Toast.makeText(MainActivity.this,"您点击了"+result,Toast.LENGTH_SHORT).show();
}
});
}
}
四个参数:自定义了TextView
activity_info布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
activity_list布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/holo_blue_dark"
android:dividerHeight="1dp"></ListView>
</LinearLayout>
MainActivity.java:
package com.ied.arrayadapter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> arrayAdapter;
private ArrayList<String> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
listView = (ListView) findViewById(R.id.lv_list);
initData();//数据源
// String data[] = {"1","2","3","4","5","6","7","8","9","10","11","12","13"};
//创建数组适配器,作为数据源和列表控件联系的桥梁
arrayAdapter = new ArrayAdapter<String>(this,R.layout.activity_list,R.id.tv_info,data);
//listview视图加载适配器
listView.setAdapter(arrayAdapter);
//为列表视图中选中的项添加响应事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String result = parent.getItemAtPosition(position).toString();//获取选择项的值
Toast.makeText(MainActivity.this,"您点击了"+result,Toast.LENGTH_SHORT).show();
}
});
}
private void initData(){
data = new ArrayList<String>();
for (int i=0;i<13;i++){
data.add("第"+(i+1)+"行");
}
}
}
第三种:自定义ArrayAdapter数组适配器
密码:d4qm
文章浏览阅读2.2k次,点赞2次,收藏10次。物联网开发技术栈 内容简介作为互联网技术的进化,物联网开发并非孤立的技术栈,而是向上承接了互联网,向下统领了嵌入式硬件开发的一个承上启下的全栈开发技术。虽然我们并不能预测物联网技术栈最终的样子:统一的开发语言是 JavaScript 还是 Python 亦或者其他编程语言;HTTP、WebSockets、MQTT、CoAP 等协议谁会是最后的赢家,并且随着物联网的不断进化,甚至我们..._物联网技术java技术栈
文章浏览阅读674次,点赞10次,收藏11次。Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理,通过Git仓库来存储和管理这些文件,Git仓库分为两种:指的是存储在各个开发人员自己本机电脑上的Git仓库指的是远程服务器上的Git仓库commit:提交,将本地文件和版本信息保存到本地仓库push:推送(上传),将本地仓库文件和版本信息上传到远程仓库pull:拉取(下载),将远程仓库文件和版本信息下载到本地仓库。
文章浏览阅读4.6k次。pprof (gperftools)使用谷歌的工具集,可查看CPU采样结果。pprof (google-perftool),用于来分析程序,必须保证程序能正常退出。使用步骤:1.准备工具,先安装工具包libunwind-1.1.tar.gzgperftools-2.1.tar.gz解压后 configure到系统默认路径即可,之后直接-lprofiler 2.再安装图形工具sudo yum ins..._gperftools pprof
文章浏览阅读118次。JavaScript BOM:Navigator、History、Location
文章浏览阅读6.2k次,点赞16次,收藏66次。在前面通过使用MongoDB在命令窗口操作数据库,而MySQL数据库也同样可以在命令窗口使用sql语句操作数据库,在安装数据库的时候提到可以安装这个图形化工具的,为了节省安装时间和卡顿选择后续安装MongoDB图形化工具,在MySQL数据中同样也有这个MySQL workbench 图形化工具可以选择进行安装;那么本篇就来安装MongoDB的图形化工具 — MongoDBCompass。_mongodb数据库图形化工具
文章浏览阅读1.4k次,点赞13次,收藏10次。未来城市的大模型包括城市总体规划、城市交通运输管理、城市公共安全和应急管理、经济发展和产业园区发展、社区发展、资源承载调控、污染调控、社会资源优化调控、基础设施调控、人口研究等模型。其对城市要素、关键指标、函数、流程、模型、平台、技术、资金、人才、市场、自然环境等内外部因素进行仿真建模。采用物联网、云计算、大数据、数字孪生和人工智能等技术来获取地、物、人、组织、环境、社会、经济、业务逻辑和运营规律等相关数据。、物联网、大数据、云计算、数字孪生、元宇宙、可穿戴生理传感器、分布式新能源等各类新技术。
文章浏览阅读3.6k次。在上一篇文章中,我们知道了如何使用配置文件自定义主题,以允许商店所有者自己更改Shopify主题。 如上所述,这些设置会在用户单击管理面板的在线商店>主题部分中的自定义主题按钮时显示,并在主题开发文件的config / settings_schema.json文件中定义。在这篇文章中,我们将了解如何访问这些设置并在开发主题时调用它们。调用配置要调用模板中的配置信息,需要使用li..._shopify自定义主题
文章浏览阅读2.6k次。1.查看本地分支git branch绿色表示当前分支#######################################################2.查看远程分支git branch -a#######################################################3.切换分支git checkout branch_name..._本地分支 '(no branch)' (远程分支 = '(no branch)') 是无效的。引用名称必须遵循
文章浏览阅读2.2w次,点赞18次,收藏28次。java连接mysql出现The server time zone value '�й���ʱ��' is unrecognized的解决方法在Idea中连接数据库是抛出The server time zone value ‘�й���ʱ��’ is unrecogni错误 原因是因为使用了Mysql Connector/J 6.x以上的版本,然后就报了时区的错误。解决办法在配置url中添..._java.lang.runtimeexception: the server time zone value '嚙請對蕭嚙踝蕭
文章浏览阅读671次,点赞11次,收藏9次。并且在这个固定的serverless服务中去增加这个,应该不是应用元服务开发者有这个加入权限的,应该是要统一解决,类似实现和手机注册验证一样的,直接可以使用或者少量代码配置即可使用。另外就是如果是新的元服务应用,使用的serverless,如果不支持华为账户功能,就没法上架,这个也是比较麻烦的,前面已经使用serverless开发基本完成或者已经完成的,得用其他方式去实现才行吧。对于已经上架的应用和元服务、升级也没法进行。3月1日的时间是快到了。
文章浏览阅读5.7k次,点赞2次,收藏8次。准备工作:安装XAMPP,登陆apache,mysql,并通过phpadmin来创建数据库,新建一个表,插入一些数据:http://localhost/phpmyadmin,最好设置密码,不然后面连接数据库的时候可能会无法访问设置密码方式:修改密码--->一定要使用生成的密码来登陆,包括后面的数据库url也是。我简历的数据如下:这时候就可以在eclipse中编程开发_xammp进入可视化界面
文章浏览阅读119次。转自:http://blog.csdn.net/cailiang517502214/article/details/4797642spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。...