Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >同一片段中的ListView和自定义SurfaceView

我正在编写一个自定义的SurfaceView实现:

CustomSurfaceView.java

代码语言:javascript
运行
AI代码解释
复制
public class CustomSurfaceView extends SurfaceView {
  private void init() { }

  // ...
}

我想从片段myFragment调用CustomSurfaceView。我在网上能找到的每个例子都是这样做的

代码语言:javascript
运行
AI代码解释
复制
class myFragment extends Fragment {
  // ...

  public View onCreateView() {
    return new CustomSurfaceView(getActivity());
  }
}

这种方法的问题是,我在myFragment中也有一个ListView,myList。它是这样工作的:

my_fragment.xml

代码语言:javascript
运行
AI代码解释
复制
<LinearLayout>
  <ListView id="@+id/my_list"/>
  <SurfaceView id="@+id/custom_surface_view"/>
</LinearLayout>

myFragment.java

代码语言:javascript
运行
AI代码解释
复制
class myFragment extends Fragment {
  // ...

  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.my_fragment, container, false);

    myList = (ListView) view.findViewById(R.id.my_list);

    return view;
  }
}

这种配置在没有CustomSurfaceView的情况下工作得很好。

然后,我尝试在myList = ...之后添加

代码语言:javascript
运行
AI代码解释
复制
customSurfaceView = (CustomSurfaceView) view.findViewById(R.id.custom_surface_view);

这将导致Unexpected cast to CustomSurfaceView: layout tag was SurfaceView

如果在我的xml布局文件中将<SurfaceView/>更改为<com.example.CustomSurfaceView/>,我会得到一个运行时崩溃(Binary XML : Error inflating class com.example.CustomSurfaceView)。

所以我的问题是:我做错了什么?在同一个myFragment中同时包含ListViewCustomSurfaceView的正确、有效的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-09-11 19:12:00

问题是我没有通过构造函数来定义合适的规范。

将以下代码添加到CustomSurfaceView.java中删除了error inflating崩溃:

代码语言:javascript
运行
AI代码解释
复制
public CustomSurfaceView(Context context, AttributeSet attrs) {
  super(context, attrs);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39437917

复制
相关文章
聊聊SurfaceView和TextureView
播放视频或者渲染其他的动画的时候,有两个View组件可供选择,SurfaceView和TextureView,GLSurfaceView是SurfaceView是子类,这儿还是归类到SurfaceView中吧。
马上就说
2020/11/11
4.4K0
在 Visual Studio Code 中添加自定义的代码片段
你可以在 Visual Studio Code 的菜单中找到代码片段的设置入口,在 File -> Preferences -> User Snippets 中。
walterlv
2023/10/22
1.2K1
在 Visual Studio Code 中添加自定义的代码片段
【Kotlin】Kotlin 自定义组件 ( 自定义 View | 自定义 SurfaceView )
文章目录 一、自定义 View 组件 ( Kotlin ) 二、自定义 SurfaceView 组件 ( Kotlin ) 自定义组件构造函数统一在 constructor(context: Cont
韩曙亮
2023/03/28
1.6K0
Flutter ListView 自定义
一个简单我的页面,之前做过iOS的应该知道,TableView 可以设置section header,但是ListView没有区分Section和Row。ListView有ListTile,但是我还是自定义了一个
赵哥窟
2019/09/20
3.7K0
Flutter ListView 自定义
VSCode 添加用户代码片段,自定义用户代码片段
在使用 VScode 开发中经常会有一些重复使用的代码块,复制粘贴也很麻烦,这时可以在 VScode 中添加用户代码片段,输入简写即可快捷输入。
Cell
2023/09/15
1.1K0
VSCode 添加用户代码片段,自定义用户代码片段
实习杂记(28):SurfaceView+ListView+MediaPlayer滑动时候灰色覆盖等问题
这个问题应该是   你给listView加了风格,或者给当前的Window加了风格,因为surfaceView,如果你不设置,应该也有一个默认的颜色值
wust小吴
2019/07/08
1.3K0
[-综合篇-] 相机、OpenGL、视频、Flutter和SurfaceView
认识一个类,相当于结交一位朋友;看一篇源码,相当于一次顶级的会话; 读一个框架,相当于见证一段思想;做一个程序,相当于创造一个生命; 一次Git提交,相当于记录一次成长;生活也许并非那么美好,但一切可以这么崇高。----张风捷特烈
张风捷特烈
2020/04/30
3.2K0
[-综合篇-] 相机、OpenGL、视频、Flutter和SurfaceView
使用ListView自定义布局
ListView这个控件实际上是很难用的,就是因为它很多细节可以优化,效率就是比较重要的一点.下面我们来优化下它的效率:
Dream城堡
2018/12/14
8790
使用ListView自定义布局
Android自定义样式listview
这个貌似很常用,以前会了现在正好用到了,所以就复习一下咯。 附上慕课网的视频地址,这个讲得hin详细http://www.imooc.com/learn/365 好了,步入正题,这里讲的就是要实现li
用户1148523
2018/01/09
2.1K0
Android项目实战(十五):自定义不可滑动的ListView和GridView
不可滑动的ListView (RecyclweView类似) public class NoScrollListView extends ListView { public NoScrollListView(Context context, AttributeSet attrs) { super(context,attrs); } public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
听着music睡
2018/05/18
1.1K0
listview优化(中)
1,对Imageview使用setTag()方法来解决图片错位问题,这个Tag中设置的是图片的url,然后在加载的时候取得这个url和要加载那position中的url对比,如果不相同就加载,相同就是复用以前的就不加载了 2,对于要加载的图片资源,先在内存缓存中找(原始的方法是使用SoftRefrence,最新的方法是使用android提供的Lrucache),如果找不到,则在本地缓存(可以使用DiskLrucache类)中找(也就是读取原先下载过的本地图片),还找不到,就开启异步线程去下载图片,下载以
xiangzhihong
2018/01/30
1.1K0
android中ListView的用法[通俗易懂]
地址:https://www.cnblogs.com/s-y-j/p/6548032.html
全栈程序员站长
2022/09/06
9690
android中ListView的用法[通俗易懂]
Vue.js 中的片段
为了使诸如屏幕阅读器之类的辅助技术能够解释网页和应用程序,无障碍支持是必需的。为了使这些技术起作用,开发人员需要考虑可访问性。
疯狂的技术宅
2020/01/14
2.7K0
Vue.js 中的片段
popupwindow和listview
在使用PopupWindow的时候,有一个不好的地方就是不太好设置弹出窗体的大小。如果指定绝对大小,那么对于不同分辨率不同尺寸的手机来说,显示出来效果会不同,从而导致用户体验不佳。 为了达到PopupWindow能够自适配布局大小,可以在设置长宽时候指定: popupWindow.setWidth(LayoutParams.WRAP_CONTENT);     popupWindow.setHeight(LayoutParams.WRAP_CONTENT);    下面我就来具体讲解一下在Popup
xiangzhihong
2018/01/30
1.6K0
popupwindow和listview
美化Windows Mobile上的自定义ListView
    在移动设备上,我们经常需要列出数据给用户看,ListView是经常用到的控件。而有些时候,我们需要同时列出预览的图片和数据,所谓图文并茂,这样可以带来更加友好的互动体验。Alex Yakhnin给我们做了很好的尝试,在他的Webcast-《24 Hours of Windows Mobile Application Development: Creating Compelling and Attractive UIs for Windows Mobile Applications》中,讲述了利用.N
ShiJiong
2018/01/10
9620
美化Windows Mobile上的自定义ListView
在ListView上使用自定义的Adapter
需要实现的东西是: 一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:
LeoXu
2018/08/15
9710
Android开发之自定义的ListView(UITableViewController)
Android开发中的ListView, 顾名方法思义,就是表视图。表示图在iOS开发中就是TableView。两者虽然名称不一样,但是其使用方法,使用场景以及该控件的功能都极为相似,都是用来展示大量数据并带有分页的控件。本篇博客将要类比着iOS开发来认识一下ListView, 如果你是Android开发者,你可以看一下iOS中TableView的工作方式。如果你是初学者,那么只看Android的开发即可。其实Android开发和iOS开发有许多东西都是相通的,尽管控件的名称以及具体的使用方式不同,但是其使
lizelu
2018/01/11
1.4K0
Android开发之自定义的ListView(UITableViewController)
Android SurfaceView
下面就贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置
阳光岛主
2019/02/19
1.2K0
点击加载更多

相似问题

导航抽屉和片段中的SurfaceView

10

安卓SurfaceView和片段

15

如何显示包含自定义SurfaceView的片段

21

在片段中设置SurfaceView

12

自定义listview和Sherlock列表片段

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文