LinearLayout无法强制转换为android.widget.Button

LinearLayout无法强制转换为android.widget.Button,第1张

概述我的原始布局xml文件如下所示: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/app"android:layout_width="match_parent"android:layou 我的原始布局xml文件如下所示:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:ID="@+ID/app"androID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_margin="0px"androID:background="#e4e8ed"androID:orIEntation="vertical"androID:padding="0px" ><include    androID:ID="@+ID/tabbar"    layout="@layout/tab" /><button    androID:ID="@+ID/nist"    androID:layout_wIDth="301dp"    androID:layout_height="63dp"    androID:text="Generate NIST file" /><linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/rectangle"    androID:layout_wIDth="276dp"    androID:layout_height="wrap_content"    androID:background="@drawable/rectangle"    androID:layout_gravity="center_horizontal">    <Togglebutton        androID:ID="@+ID/togglebutton1"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:text="Togglebutton" />    <button        androID:ID="@+ID/button1"        androID:layout_wIDth="wrap_content"        androID:layout_height="128dp"        androID:text="button" /></linearLayout></linearLayout>

但是,如果我将button移动到内部linearLayout下面,我的应用只是抛出异常:

linearLayout cannot be cast to androID.Widget.button

我觉得这很奇怪,我怎么能这样做?

编辑:

这是我将按钮“导入”到我的java代码的方式:

setTabbar(R.layout.horz_scroll_app);nist = (button) findVIEwByID(R.ID.nist);

setTabbar方法:

public voID setTabbar(int ID) {    LayoutInflater inflater = LayoutInflater.from(this);    scrollVIEw = (Myhorizontalscrollview) inflater.inflate(            R.layout.horz_scroll_with_List_menu,null);    setContentVIEw(scrollVIEw);    menu = inflater.inflate(R.layout.horz_scroll_menu,null);    app = inflater.inflate(ID,null);    VIEwGroup tabbar = (VIEwGroup) app.findVIEwByID(R.ID.tabbar);    ListVIEw ListVIEw = (ListVIEw) app.findVIEwByID(R.ID.List);    ListVIEw = (ListVIEw) menu.findVIEwByID(R.ID.List);    ArrayList<MenuItem> menuItems = getMenuItems();    ListVIEw.setAdapter(new MenuCustomAdapter(this,menuItems));    btnSlIDe = (Imagebutton) tabbar.findVIEwByID(R.ID.BtnSlIDe);    btnSlIDe.setontouchListener(new OntouchListener() {        @OverrIDe        public boolean ontouch(VIEw v,MotionEvent event) {            switch (event.getAction()) {            case MotionEvent.ACTION_DOWN:                btnSlIDe.setimageResource(R.drawable.lincolor);                break;            case MotionEvent.ACTION_UP:                btnSlIDe.setimageResource(R.drawable.lin);                break;            }            return false;        }    });    btnSlIDe.setonClickListener(new ClickListenerForScrolling(scrollVIEw,menu));    final VIEw[] children = new VIEw[] { menu,app };    int scrollToVIEwIDx = 1;    scrollVIEw.initVIEws(children,scrollToVIEwIDx,new SizeCallbackForMenu(btnSlIDe));}

我还应该提一下,如果我在内部linearLayout下添加其他元素,它只适用于button元素.

解决方法 尝试清理和重建项目,如果不起作用,请重新启动Eclipse. 总结

以上是内存溢出为你收集整理的LinearLayout无法强制转换为android.widget.Button全部内容,希望文章能够帮你解决LinearLayout无法强制转换为android.widget.Button所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1122911.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存