2015-10-16 18 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的價值

相關問題