简单的自定义视图问题

Posted

技术标签:

【中文标题】简单的自定义视图问题【英文标题】:Simple Custom View Problem 【发布时间】:2011-02-21 08:47:04 【问题描述】:

编辑下午 4:33 022111

我忘记包含我的 xml 代码。我太傻了。

现在我尝试了超类的attrs,但它仍然没有帮助......


我尝试搜索所有内容,但无济于事。

我的代码非常非常简单。

以下内容包括我从创建项目时获得的初始代码更改的所有内容。

Thumbknightview.java

package com.google.www.Thumbknight;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
public class ThumbKnightView extends View

public ThumbKnightView(Context context) 
    super(context);

public ThumbKnightView(Context context,  AttributeSet attrs) 
    super(context, attrs); // edit 4:33pm 022111

YoAndroid.java

package com.google.www.Thumbknight;
import android.app.Activity;
import android.os.Bundle;


public class YoAndroid extends Activity 
/** Called when the activity is first created. */

//private ThumbKnightView tnv;


float x;
float y;
float lastx;
float lasty;
float maxspeed = 8;

int ipi = -1;
int firstfinger;

@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 

main.xml

我知道这对于专家来说可能看起来很愚蠢,但对我来说,它给了我 3 多个小时的搜索和阅读时间。请对我放轻松。

【问题讨论】:

您的问题到底是什么? ThumbKnightView 不显示吗?如果是这种情况,请打开 main.xml 布局并将那里的视图类从 View 更改为 yourpackage.ThumbKnightView。 【参考方案1】:

您需要指定更多详细信息 - 您的问题是什么?此外,过去的布局 XML 的相关部分。

这样的代码看起来几乎是无害的。唯一要记住的是,当您将构造函数调用链接到超类时,也要传递AttributeSet。您还必须将此 AttributeSet 传递给您的子视图的构造函数。

为了。例如:如果你正在创建一个按钮,你会说new Button(activityContext,attrs);

public ThumbKnightView(Context context,  AttributeSet attrs) 
    super(context,attrs);

【讨论】:

以上是关于简单的自定义视图问题的主要内容,如果未能解决你的问题,请参考以下文章

简单的自定义视图问题

如何创建一个简单的自定义视图?

Django 中的自定义与通用视图

触发本地通知时的自定义视图

带有 nib 子视图的自定义 UIVIew 无

如何使用 SwiftUI 打开通知操作的自定义视图?