我是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从模型中获取数据相关推荐

  1. android 数据库 数组,如何从SQLITE数据库中获取数据到android中的数组?

    在查询数据库时,您仍然会有一个光标,但是一旦获得光标,您可以迭代它,将所需的值拉出到数组中,如下所示: DbAdapter db = new DbAdapter(mContext); int colu ...

  2. 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)

    模型中存储数据 参数 读取 写入 外部存储 Schema Entity 快速获取外部存储参数 参数 在Revit平台API中,每个图元对象都有参数属性,它是隶属于图元所有属性的集合,在此集合中更改属性 ...

  3. 在React中获取数据

    React初学者经常从不需要获取数据的应用开始.他们经常面临一个计数器,任务列表获取井字棋游戏应用.这是很好的,因为在开始学习React的时候,数据获取在你的应用中添加了另一层复杂度. 然而,有些时候 ...

  4. 【Grasshopper基础3】在SolveInstance中获取数据和传出数据

    在RegisterInputParams和RegisterOutputParames中添加数据的输入端/输出端之后的下一步就是我们如何在电池的SolveInstance中拿到我们的数据并进一步处理了. ...

  5. OC从plist文件中获取数据

    怎样从plist文件中读取数据,这个和反归档相似,但是也存在着区别,比如说不用解码,当然一般我们获取的数据往往是对一个对象的描述,而且数据的个数也不是一个,因此我们有必要来说一下怎样完整的从plist ...

  6. C#从剪贴板中获取数据

    今天我们同学问我如何利用C#把剪贴板里的图片存出来,我看了看,非常简单 IDataObject data = Clipboard.GetDataObject();//从剪贴板中获取数据 if(data ...

  7. c从sqlite3数据库中获取数据,并对数据进行拼接

    c从sqlite3数据库中获取数据,并对数据进行拼接 函数功能 对数据库的操作 创建数据库: 创建USER表: 创建表内数据: 查看表内数据: 查看表结构: 函数实现 函数编译: 函数结果: 函数功能 ...

  8. ​​​​​​​​​​​​​​使用dom方式遍历文档||获取元素||从元素中获取数据

    使用dom方式遍历文档 获取元素 根据id查询元素getElementById 根据标签获取元素getElementsByTag 根据class获取元素getElementsByClass 根据属性获 ...

  9. getdata提取曲线数据_Origin如何从图表中获取数据

    点击上方"蓝字",一起愉快的玩耍吧!Origin如何从图表中获取数据01图片分析软件安装 一.GetData Graph Digitizer安装 使用范围: 1.需要引用别人文章中 ...

最新文章

  1. leetcode--Reorder List
  2. 写代码做副业月入33K+的方法都藏在这几个淘宝大佬的公众号里!
  3. 为了提高工作效率:通过pycharm的模板代码减少重复工作
  4. spring.net 注入 配置
  5. 【网络安全】Penelope:一款功能强大的Shell处理工具
  6. spring bean属性scope
  7. 2、Redis入门介绍
  8. 【Web】JavaWeb开发技术笔记整理
  9. 继承的原理java_Java继承和多态的原理
  10. mybatis 配置_配置Mybatis在Spring Boot工程中的整合
  11. glassfish 是oracle的,GlassFish“百天”小版本 彰显Oracle的大功力
  12. linux 按序号创建文件夹,在Linux终端中创建M3U播放列表的方法
  13. 将文件下载到谷歌云盘 google driver
  14. 计算机文献检索试题及答案,文献检索试题及答案.doc
  15. 上三角、下三角、对称矩阵
  16. 三线压力传感器原理_压力传感器接线图及原理介绍
  17. linux系统中连接两个网桥,Linux 网桥代码分析 (二)
  18. 索尼笔记本笔记本计算机在哪里设置,索尼vaio笔记本怎么进bios设置|索尼笔记本进bios按什么键...
  19. 假币问题POJ2692
  20. 居民身份证阅读器产品开发学习心得(再谈标准-软件-协议)

热门文章

  1. python逻辑运算符的使用_总结Python中逻辑运算符的使用
  2. spyder pyecharts不显示_165Hz+1ms仅需千元左右 优派VX2771HDPRO显示器
  3. java jtextarea 滚动条_java 在JTextArea中显示 滚动条
  4. pat 乙级 1013 数素数(C++)
  5. 光端机使用时出现了故障怎样定位和处理
  6. 采购光纤收发器时应该注意哪些事项?
  7. html中输出PHP的下拉列表,html中关于下拉列表select的图文代码详解
  8. 小米小爱蓝牙音箱_UG绘制一个小米小爱同学蓝牙音箱
  9. matlab图像采集程序,用摄像头连续采集、保存图像源程序
  10. java comparator相等_详解Java中Comparable和Comparator接口的区别