2015-10-16 68 views
0

我是Android新手。我想用一个自定义布局的SimpleAdapter。我有存储原始数据,然后使用id来访问它吗? view参数应该是我可以使用的。但是,做到这一点的正确方法是什么?如何将视图转换为AdapterView.OnItemClickListener的onItemClick函数中的自定义布局?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_section); 

    ListView listView = (ListView) findViewById(R.id.MyListView); 

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
    for(int i=0;i<30;i++) 
    { 
     HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("ItemTitle", "This is Title....."); 
     map.put("ItemText", "This is text....."); 
     mylist.add(map); 
    } 

    SimpleAdapter mSchedule = new SimpleAdapter(this, 
      mylist, 
      R.layout.list_delegate, 
      new String[] {"ItemTitle", "ItemText"}, 
      new int[] {R.id.ItemTitle,R.id.ItemText}); 
    listView.setAdapter(mSchedule); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "clicked: " + view); 
     } 
    }); 
} 
//simplified activity_section.xml 
<LinearLayout 
    android:id="@+id/MyListItem"> 
    <TextView 
     android:id="@+id/ItemTitle"/> 
    <TextView 
     android:id="@+id/ItemText"/> 
</LinearLayout> 

回答

0

使用findViewById从ListView控件的单击行作为访问ItemTitleItemText

String itemTitle = ((TextView) 
       view.findViewById(R.id.ItemTitle)).getText().toString(); 

做相同的访问ItemText TextView的价值