Java 在ListView中读取项目
我想用hasmap获取列表视图的信息,为此我编写了以下代码:Java 在ListView中读取项目,java,android,listview,hashmap,Java,Android,Listview,Hashmap,我想用hasmap获取列表视图的信息,为此我编写了以下代码: public class MainActivity extends Activity { ListView rdv; HashMap<String, String> map; ArrayList<HashMap<String, String>> rdvous = new ArrayList<>(); String URL; @Override protected void onCre
public class MainActivity extends Activity {
ListView rdv;
HashMap<String, String> map;
ArrayList<HashMap<String, String>> rdvous = new ArrayList<>();
String URL;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
URL = "http://172.16.32.101/?mot=listerrdv&id=5";
rdv = (ListView)findViewById(R.id.listRDV);
new HttpAsyncTask().execute(URL);
rdv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
@SuppressWarnings("unchecked")
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(),map.get("titre"),Toast.LENGTH_LONG).show();
}
});
}
。
.
我收到数据,listview正常,但当我点击一个项目时,我只收到最后一个项目
你能帮我吗?我找到了这个解决方案:
Toast.makeText(getBaseContext(), rdvous.get(position).get("titre"),Toast.LENGTH_LONG).show();
这就是工作
谢谢拉米- 您没有发布所有内容,但在我看来,您并不是在引用单击的项目。我看到一张硬编码地图。获取值。Toast.makeTextgetBaseContext、map.gettitre、Toast.LENGTH\u LONG.show;试试这个:Toast.makeTextgetBaseContext,rdvous.getposition.getitre,Toast.LENGTH\u LONG.show;问了这么多次。。。HashMap itemMap=HashMapparent.getItemAtPositionposition;然后你可以使用itemMap…不客气。当解析Json时,map对象包含循环的最后一个值,这就是为什么调用map.getItre时只得到最后一个项。因此,您需要从包含所有数据的RDVOU中获取值。
Toast.makeText(getBaseContext(), rdvous.get(position).get("titre"),Toast.LENGTH_LONG).show();