16
我有一個列表視圖,它是通過數據庫中的記錄填充的。 現在,我必須使一些記錄可見,但無法選擇, 我怎麼能做到這一點?如何禁用列表視圖中的項目?
這裏是我的代碼
public class SomeClass extends ListActivity {
private static List<String> products;
private DataHelper dh;
public void onCreate(Bundle savedInstanceState) {
dh = new DataHelper(this);
products = dh.GetMyProducts(); /* Returns a List<String>*/
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.myproducts, products));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), ((TextView) arg1).getText(), Toast.LENGTH_SHORT).show();
}
});
}
}
佈局文件myproducts.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp">
</TextView>
請小心使用此解決方案。 BaseAdapter的文檔聲明如下「如果指定位置的項目不是分隔符,則返回true。」這意味着如果您返回false,則該項目是分隔項目。有些手機可能無法在正常項目和分隔項目之間繪製android:divider。 – Janusz 2011-07-27 09:51:33
這絕對是真的,我之前遇到過這個問題;我在行佈局本身中包含了一個divider,並將其顯示/隱藏在getView()中,或者將這些項目保持爲啓用狀態,但忽略了它們的點擊並設置了一個沒有按下狀態的背景,因此它們看起來不像點擊。 – 2011-07-27 15:14:07
偉大的地方放置「標題」分隔線,爲了在您的列表中有部分! – htafoya 2013-07-22 16:41:56