[英]Transformation from Activity to ListActivity
这段代码基本上从数据库中获取数据,并将其与搜索框一起显示在列表中,该搜索框有助于从列表中滤除特定值。
请检查此快照!
但是问题是DataAttach.java
是从Activity
扩展的,不支持onListItemClick()
。
如果要包含onListItemClick()
,则必须从ListActivity
而不是Activity
扩展类。
问题来了。 如果我从ListActivity扩展类,则无法在视图中包括搜索框。
我陷入僵局,任何建议表示赞赏。 谢谢。
DataAttach.java(片段) :
symbolarr = dbM.getSymbol();
if (symbolarr != null) {
list1 = new String[symbolarr.length];
for (int i = 0; i < symbolarr.length; i++) {
list1[i] = symbolarr[i];
}
}
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, symbolarr);
// setListAdapter(adapter);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, symbolarr));
DbManager.java(片段)
public String[] getSymbol() {
Cursor cur;
try {
cur = mDb.rawQuery("select symbol,company_name from scrip", null);
} catch (SQLiteException e) {
throw new Error(" *** ERROR in cursor *** " + e.getMessage());
}
String[] b1 = new String[1326];
int x = 0;
if (cur.moveToFirst()) {
do {
b1[x] = cur.getString(cur.getColumnIndex("symbol"));
x++;
} while (cur.moveToNext());
}
cur.close();
return b1;
}
main.xml
< LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/MainLayout">
< EditText android:id="@+id/txt1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:hint="Search">
< /EditText>
< ListView android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
< /ListView>
< /LinearLayout>
您实际上可以采用以下任何一种方式:
定义具有自定义布局的ListActivity: http : //developer.android.com/reference/android/app/ListActivity.html请注意,您必须像这样设置id @android:id/list
。
如果没有ListActivity
:在ListView
上使用setOnItemClickListener(AdapterView.OnItemClickListener listener)
。
list_view = (ListView) findViewById(R.id.list);
list_view.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
// Do here whatever you want
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.