SimpleAdapter 的用法及點選事件中如何獲取選中項的值
阿新 • • 發佈:2019-02-02
package com.example.administrator.mydivlistview; 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.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{ private ListView listview; private SimpleAdapter sim_adapter; private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); text=(TextView) findViewById(R.id.text); listview = (ListView) findViewById(R.id.listview); sim_adapter = new SimpleAdapter(this, getdata(), R.layout.item, new String[]{"pic", "text"}, new int[]{R.id.pic, R.id.text}); listview.setAdapter(sim_adapter); listview.setOnItemClickListener(this); } private List<Map<String, Object>> getdata() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("pic", R.drawable.apple_pic); map.put("text", "apple"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.pear_pic); map.put("text", "pear"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.watermelon_pic); map.put("text", "watermelon"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.cherry_pic); map.put("text", "cherry"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.strawberry_pic); map.put("text", "strawberry"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.grape_pic); map.put("text", "grape"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.orange_pic); map.put("text", "orange"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.mango_pic); map.put("text", "mango"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.pineapple_pic); map.put("text", "pineapple"); list.add(map); map = new HashMap<String, Object>(); map.put("pic", R.drawable.banana_pic); map.put("text", "banana"); list.add(map); return list; } @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { /*adapterView是指當前的listview; *view是當前listview中的item的view的佈局,就是可用這個view獲取裡面控制元件id後操作控制元件 * i是當前item在listview中介面卡的位置 * l是當前item在listview裡第幾行的位置 */ //獲得選中項中的HashMap物件 HashMap<String,String> map=(HashMap<String,String>)adapterView.getItemAtPosition(i); String Text=map.get("text"); Toast.makeText(MainActivity.this,Text,Toast.LENGTH_SHORT).show(); } }