我正在使用ListActivity来设置我的列表视图。我想要做的是我想在上部显示listview,在父底部显示linearlayout。
由于我正在使用ListActivity,因此我没有布局任何布局文件。我设法做的仍然是获取listview实例,但是当我尝试在linearLayout中设置它时,我收到一个错误:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first
我正在使用以下代码:
final ListView lv = getListView();
LinearLayout root = new LinearLayout(this);
root.setOrientation(LinearLayout.VERTICAL);
root.setLayoutParams(new LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT));
root.addView(lv);
setContentView(root);
有人可以帮忙吗?
提前完成。
答案 0 :(得分:1)
您应该使用ListActivity的自定义布局。
这是一个教程:http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/
答案 1 :(得分:0)
你需要做的是定义你的自定义布局,无论是ListActivity总是你的自定义xml布局有一个带有id的ListView:android:id =“@ android:id / list”
我定义了我的活动布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/background_new_search_activity_1">
<include layout="@layout/generic_header_layout" android:id="@+id/listaBusquedasHeader"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"/>
</LinearLayout>
稍后我的活动创建定义了上面的布局:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.lista_busquedas_activity);
listView = (ListView) findViewById(android.R.id.list);
listView.setOnItemClickListener(listItemListener);
((TextView)findViewById(R.id.genericHeaderTitle)).setText(R.string.listaBusquedasGuardadasTitle);
if(LoginManager.getInstance().existeUsuarioValidoLogueado()){
aTask = new AsynchronousTask(this, AsynchronousTask.MODE_STRING, handler, OBTENER_BUSQUEDAS_GUARDADAS);
aTask.execute( OperationsFacadeManager.obtenerBusquedasGuardadas(1) );
}else{
Toast.makeText(this, R.string.genericErrorUserNotLogged, Toast.LENGTH_SHORT);
}
}
这就是全部,伙计