2012-12-03 59 views
1

在Android上使用適配器的最佳方式是什麼?我們可以將它用於多種自定義操作。通過使用適配器,我們將包含一些預先實施的方法。我應該什麼時候使用這些方法?我們如何通過使用適配器實現的方法來提高我們的應用程序的性能?在Android上使用適配器的最佳方式是什麼?

public int getCount() { 
     // TODO Auto-generated method stub 
     return country.length; 
    } 

    public Object getItem(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 
} 
+0

Android平臺所提供超過適配器巫婆適配器要使用? –

+0

它更好地瞭解每個One One One中的所有適配器! – gowri

+0

你有什麼嘗試?你遇到了什麼問題?更具體一點,這將有助於人們幫助你。 – neevek

回答

1

BaseAdapter是簡單地使用ListViewGridView的絕佳選擇。但是如果你想從數據庫中獲取數據,CursorAdapter更適合這個,儘管文檔說這是用於ListView。因此,SimpleCursorAdapter將是另一種類型,如果您希望在顯示數據庫中顯示的數據時同時使用ListViewGridView兩種用法。但當然知道你的實施將會幫助我更好地給你最好的選擇。

我還應該添加,因爲我在其中的一條評論中看到它,ArrayAdapter基本上是BaseAdapter,但不同之處在於它需要任意對象的數組ak.a最適合於直接使用數組。

+1

謝謝,你能分享我任何這些教程的完美鏈接? – gowri

+1

沒問題。我不能直到我確切知道你需要什麼。如果不是的話,我會在研究方面做很多你應該做的工作。 :P – Andy

0

getCount()是必須的。它告訴ListView,GridView或者其它顯示多少項。在很多情況下,getItem()和getItemId()(如果你用自己的代碼實現getView())實際上是可選的,它們只是輔助方法。這些方法對於適配器是基本的,它對性能改進沒有幫助。我認爲getView()的實現效果最好。

2

看出來這個樣本示例和link

public class GridDemo extends Activity implements AdapterView.OnItemClickListener { 
    private TextView selection; 
    private static final String[] items={"lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat", "placerat", "ante", "porttitor", "sodales", "pellentesque", "augue", "purus"}; 

    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 
     selection=(TextView)findViewById(R.id.selection); 
     GridView g=(GridView) findViewById(R.id.grid); 
     g.setAdapter(new ArrayAdapter<String>(this, R.layout.cell, items)); 
     g.setOnItemClickListener(this); 
    } 

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
     selection.setText(items[position]); 
    } 
} 

你可以得到這個適配器的想法..

相關問題