android onitemclicklistener 参数,android – OnItemClickListener从模型中获取数据
我是Android开发的新手,我正在尝试构建一个ListView,它使用gson从Web服务获取数据.我有一个模型类,一个列表类,一个适配器类和活动类.
该列表工作正常,它获得了数据,现在我想将OnItemClickListener集成到它并将数据传递给第二个活动.我想得到项ID(DistrictId)并将其传递给下一个Activity(listView)而不是行id.如果有人可以向我展示光明,那就太好了……因为文档不是很清楚,因为我是新手.
以下是我的代码.
模型类
package com.sample.myapp;
public class DistrictModel {
private String id;
private String districtName;
public String getDistrictId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDistrictName(){
return districtName;
}
public void setDistrictEN(String districtName){
this.districtName = districtName;
}
}
List类
public class DistrictList {
private List districts;
public List getDistricts(){
return districts;
}
public void setDistrictList(List districts){
this.districts = districts;
}
}
Adapter类
public class DistrictAdapter extends ArrayAdapter{
int resource;
String response;
Context context;
private LayoutInflater dInflater;
public DistrictAdapter(Context context, int resource, List objects) {
super(context, resource, objects);
this.resource = resource;
dInflater = LayoutInflater.from(context);
}
static class ViewHolder {
TextView title;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
//Get the current location object
DistrictModel lm = (DistrictModel) getItem(position);
//Inflate the view
if(convertView==null)
{
convertView = dInflater.inflate(R.layout.item_district, null);
holder = new ViewHolder();
holder.title = (TextView) convertView
.findViewById(R.id.district_name);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.title.setText(lm.getDistrictName());
return convertView;
}
}
活动类
public class DistrictListActivity extends Activity{
LocationManager lm;
ArrayList districtArray = null;
DistrictAdapter districtAdapter;
DistrictList list;
ListView lv;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.districtlist_layout);
lv = (ListView) findViewById(R.id.list_district);
districtArray = new ArrayList();
districtAdapter = new DistrictAdapter(DistrictListActivity.this, R.layout.item_district, districtArray);
lv.setTextFilterEnabled(true);
lv.setAdapter(districtAdapter);
try {
new DistrictSync().execute("http://aws.something.com/service");
} catch(Exception e) {}
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View convertView, int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(DistrictListActivity.this);
adb.setTitle("LVSelectedItemExample");
adb.setMessage("Selected Item is = "+(lv.getItemIdAtPosition(position)));
adb.setPositiveButton("Ok", null);
adb.show();
}
}); **//i'd like to get the DistrictId from the json data.**
}
private class DistrictSync extends AsyncTask {
protected DistrictList doInBackground(String... urls) {
DistrictList list = null;
int count = urls.length;
for (int i = 0; i < count; i++) {
try {
// ntar diganti service
RestClient client = new RestClient(urls[i]);
try {
client.Execute(RequestMethod.GET);
} catch (Exception e) {
e.printStackTrace();
}
String json = client.getResponse();
list = new Gson().fromJson(json, DistrictList.class);
//
} catch(Exception e) {}
}
return list;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(DistrictList dislist) {
for(DistrictModel lm : dislist.getDistricts())
{
districtArray.add(lm);
}
districtAdapter.notifyDataSetChanged();
}
}
}
为了测试目的,现在我点击它将显示行id的行,所以我知道onclick监听器工作,但我只是想让它抓住我的DistrictId所以我可以用它来传递给下一个活动.
非常感谢.
解决方法:
(从我的头脑中)试试这个:
((DistrictModel)lv.getAdapter().getItem(position)).getDistrictId();
标签:onitemclicklistener,android
来源: https://codeday.me/bug/20190721/1495055.html
android onitemclicklistener 参数,android – OnItemClickListener从模型中获取数据相关推荐
- android 数据库 数组,如何从SQLITE数据库中获取数据到android中的数组?
在查询数据库时,您仍然会有一个光标,但是一旦获得光标,您可以迭代它,将所需的值拉出到数组中,如下所示: DbAdapter db = new DbAdapter(mContext); int colu ...
- 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)
模型中存储数据 参数 读取 写入 外部存储 Schema Entity 快速获取外部存储参数 参数 在Revit平台API中,每个图元对象都有参数属性,它是隶属于图元所有属性的集合,在此集合中更改属性 ...
- 在React中获取数据
React初学者经常从不需要获取数据的应用开始.他们经常面临一个计数器,任务列表获取井字棋游戏应用.这是很好的,因为在开始学习React的时候,数据获取在你的应用中添加了另一层复杂度. 然而,有些时候 ...
- 【Grasshopper基础3】在SolveInstance中获取数据和传出数据
在RegisterInputParams和RegisterOutputParames中添加数据的输入端/输出端之后的下一步就是我们如何在电池的SolveInstance中拿到我们的数据并进一步处理了. ...
- OC从plist文件中获取数据
怎样从plist文件中读取数据,这个和反归档相似,但是也存在着区别,比如说不用解码,当然一般我们获取的数据往往是对一个对象的描述,而且数据的个数也不是一个,因此我们有必要来说一下怎样完整的从plist ...
- C#从剪贴板中获取数据
今天我们同学问我如何利用C#把剪贴板里的图片存出来,我看了看,非常简单 IDataObject data = Clipboard.GetDataObject();//从剪贴板中获取数据 if(data ...
- c从sqlite3数据库中获取数据,并对数据进行拼接
c从sqlite3数据库中获取数据,并对数据进行拼接 函数功能 对数据库的操作 创建数据库: 创建USER表: 创建表内数据: 查看表内数据: 查看表结构: 函数实现 函数编译: 函数结果: 函数功能 ...
- 使用dom方式遍历文档||获取元素||从元素中获取数据
使用dom方式遍历文档 获取元素 根据id查询元素getElementById 根据标签获取元素getElementsByTag 根据class获取元素getElementsByClass 根据属性获 ...
- getdata提取曲线数据_Origin如何从图表中获取数据
点击上方"蓝字",一起愉快的玩耍吧!Origin如何从图表中获取数据01图片分析软件安装 一.GetData Graph Digitizer安装 使用范围: 1.需要引用别人文章中 ...
最新文章
- leetcode--Reorder List
- 写代码做副业月入33K+的方法都藏在这几个淘宝大佬的公众号里!
- 为了提高工作效率:通过pycharm的模板代码减少重复工作
- spring.net 注入 配置
- 【网络安全】Penelope:一款功能强大的Shell处理工具
- spring bean属性scope
- 2、Redis入门介绍
- 【Web】JavaWeb开发技术笔记整理
- 继承的原理java_Java继承和多态的原理
- mybatis 配置_配置Mybatis在Spring Boot工程中的整合
- glassfish 是oracle的,GlassFish“百天”小版本 彰显Oracle的大功力
- linux 按序号创建文件夹,在Linux终端中创建M3U播放列表的方法
- 将文件下载到谷歌云盘 google driver
- 计算机文献检索试题及答案,文献检索试题及答案.doc
- 上三角、下三角、对称矩阵
- 三线压力传感器原理_压力传感器接线图及原理介绍
- linux系统中连接两个网桥,Linux 网桥代码分析 (二)
- 索尼笔记本笔记本计算机在哪里设置,索尼vaio笔记本怎么进bios设置|索尼笔记本进bios按什么键...
- 假币问题POJ2692
- 居民身份证阅读器产品开发学习心得(再谈标准-软件-协议)
热门文章
- python逻辑运算符的使用_总结Python中逻辑运算符的使用
- spyder pyecharts不显示_165Hz+1ms仅需千元左右 优派VX2771HDPRO显示器
- java jtextarea 滚动条_java 在JTextArea中显示 滚动条
- pat 乙级 1013 数素数(C++)
- 光端机使用时出现了故障怎样定位和处理
- 采购光纤收发器时应该注意哪些事项?
- html中输出PHP的下拉列表,html中关于下拉列表select的图文代码详解
- 小米小爱蓝牙音箱_UG绘制一个小米小爱同学蓝牙音箱
- matlab图像采集程序,用摄像头连续采集、保存图像源程序
- java comparator相等_详解Java中Comparable和Comparator接口的区别