从自定义视图返回值

发布于 2024-11-17 13:56:24 字数 1000 浏览 4 评论 0原文

我创建了一个类 ShowWeight 扩展 LinearLayout,它有两个自定义视图作为内部类。我通过 main.xml 中的 XML 标记来使用此类:

<org.test.ShowWeight  android:id="@+id/sw"..................../>

ShowWeight 类中有两个公共变量,需要在使用 main.xml 作为其视图。

我该怎么做? 我在主要活动中尝试了这个:

ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw);
Log.d("test",sw.getContentDescription().toString());

在 showWeight 类中尝试了这个:

this.setContentDescription(/*required value */);

这导致了 NullPointerException。

希望得到一些建议(数据库、静态变量,不是选项)

更新:

不幸的是,我不允许发布任何代码,如果我看起来含糊不清,我深表歉意,但我确信 ShowWeight类没有改变任何可能导致问题的内容。

我通过 XML 标记添加到 main.xml 视图中的 ShowWeight 类显示良好且功能正常。

当我在主活动中使用 ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw); 然后 Toast 或打印 ShowWeight 我得到 'null' 。另外,setContentDescription(),getContentDescription() 不应引发错误,因为我已在 ShowWeight 的 XML 标记中给出了默认的 contentDescription。

I have made a class ShowWeight extending LinearLayout, which has two custom Views as Inner classes. I am using this class by means of an XML tag in the main.xml :

<org.test.ShowWeight  android:id="@+id/sw"..................../>

There are two public variables in the ShowWeight class, whose changing values need to be captured in the main activity, which uses main.xml as its view.

How do I do this?
I tried this in the main activity :

ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw);
Log.d("test",sw.getContentDescription().toString());

and this in the showWeight class:

this.setContentDescription(/*required value */);

This resulted in a NullPointerException.

Would appreciate some suggestions (Database, static variables, not an option)

Update:

Unfortunately, I am not permitted to post any of the code, I apologize if I seem vague, nevertheless I'm sure the ShowWeight class hasn't altered anything that might be causing the problem.

The ShowWeight class, which I have added to the main.xml view by means of an XML tag appears fine and functions properly.

When I use ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw); in the Main Activity and then Toast or print ShowWeight I am getting 'null' . Also the setContentDescription(),getContentDescription() shouldn't throw errors because I've given a default contentDescription in the XML tag for ShowWeight.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归途 2024-11-24 13:56:24

发布您的 ShowWeight 课程将为我们提供更多帮助。
假设你有这样的课程。

public class ShowWeight extends LinearLayout {

    private Object myObject; 
    public ShowWeight(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.header, this);
    }
    public Object getMyObject()
    {
        return myObject;
    }    
}

在你的 MainActivity.java 中

ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw);
sw.getMyObject();

Posting your ShowWeight class will help us more.
Assuming that you have class like this.

public class ShowWeight extends LinearLayout {

    private Object myObject; 
    public ShowWeight(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.header, this);
    }
    public Object getMyObject()
    {
        return myObject;
    }    
}

and in you MainActivity.java

ShowWeight sw=(ShowWeight)this.findViewById(R.id.sw);
sw.getMyObject();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文