我想在代码中实现布局,其实是很简单的布局,但是还是出错,看了半天也没查处错误在哪,请大侠们帮忙看看,附上布局代码
:linearLayout = new LinearLayout(this);
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
listViewShowMessage = new ListView(this);
llpListView = new LinearLayout.LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
linearLayout.addView(listViewShowMessage, llpListView);
loadMore = new Button(this);
loadMore.setText("load");
loadMore.setId(1);
/*llpButton = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);*/
linearLayout.addView(loadMore, llpButton);
listViewShowMessage.addFooterView(loadMore); Logcat中报 ClassCastExceptions 不知道是什么原因造成的?
:linearLayout = new LinearLayout(this);
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
listViewShowMessage = new ListView(this);
llpListView = new LinearLayout.LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
linearLayout.addView(listViewShowMessage, llpListView);
loadMore = new Button(this);
loadMore.setText("load");
loadMore.setId(1);
/*llpButton = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);*/
linearLayout.addView(loadMore, llpButton);
listViewShowMessage.addFooterView(loadMore); Logcat中报 ClassCastExceptions 不知道是什么原因造成的?
解决方案 »
- android sdk 无法安装
- 谁了解.apk文件中xml文件的解密
- 如何在一个表中搜索多个数据
- android访问外部数据库sql server
- HTC应用商店,让工具“活”起来
- ontouch,ontouchlistener,ontouchevent三者是什么关系。
- 编写Android sina微博应用时通过OAuth认证通过后发布微博失败!!
- 在Android做界面开发,能不能用C语言绘制界面?就像在Windows下不用MFC而用API绘制界面一样
- 关于安卓应用的服务器端开发
- 為一下為何一直上傳谷哥商店失敗
- IMediaScannerListener.aidl和IMediaScannerService.aidl文件没有对应的java类吗?
- startActivityForResult 没有返回结果
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.ListView.clearRecycledState(ListView.java:522)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.ListView.resetList(ListView.java:509)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.ListView.layoutChildren(ListView.java:1446)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.AbsListView.onLayout(AbsListView.java:1260)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.View.layout(View.java:7175)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.View.layout(View.java:7175)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.View.layout(View.java:7175)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.View.layout(View.java:7175)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.View.layout(View.java:7175)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.os.Looper.loop(Looper.java:123)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at java.lang.reflect.Method.invokeNative(Native Method)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at java.lang.reflect.Method.invoke(Method.java:507)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-10 03:53:55.957: ERROR/AndroidRuntime(4276): at dalvik.system.NativeStart.main(Native Method)
listViewShowMessage.addFooterView(loadMore); 这重复了
你的lpListView = new LinearLayout.LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
linearLayout.addView(listViewShowMessage, llpListView); 这个充满屏幕了,可以去掉linearLayout.addView(loadMore, llpButton);这个,
加上listViewShowMessage.addFooterView(loadMore);这个
llpListView = new LinearLayout.LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
linearLayout.addView(listViewShowMessage, llpListView);
你把listview的宽、高设都为fill_parent了,可以改成match_parent或者wrap_content,或者给线型布局里的
listview和 button设个权重(weight)试试
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
listViewShowMessage = new ListView(this);
llpListView = new LinearLayout.LayoutParams
(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
linearLayout.addView(listViewShowMessage, llpListView);
loadMore = new Button(this);
loadMore.setText("load");
loadMore.setId(1);
llpButton = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
loadMore.setLayoutParams(llpButton);
//linearLayout.addView(loadMore, llpButton);
listViewShowMessage.addFooterView(loadMore);
我都试过了 Button还是没有显示。看来看去就这点代码,但实在不知道哪里出错了,求指点啊
把下面这句注释掉
//listViewShowMessage.addFooterView(loadMore);
用linearLayout.addView(loadMore, llpButton);就行了
根据你的代码button应该是listview的兄弟在同一个层次
你是在linearlayout中实现一个下部带button,上面是listiew的界面。注意设置权重, 在往linearLayout添加view的时候。把listview, button都设置为1看看。
linearLayout = new LinearLayout(this);
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
listViewShowMessage = new ListView(this);
llpListView = new LinearLayout.LayoutParams
(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT,5);
linearLayout.addView(listViewShowMessage, llpListView);
loadMore = new Button(this);
loadMore.setText("load");
loadMore.setId(1);
llpButton = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT,1);
loadMore.setLayoutParams(llpButton);
listViewShowMessage.addFooterView(loadMore);