为啥我的viewgroup啥都不显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的viewgroup啥都不显示相关的知识,希望对你有一定的参考价值。

为什么什么都没显示,还有我想添加一个button怎么添加,最好是具体的例子public class myView extends ViewGroup private Bitmap ground; private Bitmap baodao; private Bitmap house; Resources res; public myView(Context context) super(context); res=context.getResources(); ground=BitmapFactory.decodeResource(res, R.drawable.di); baodao=BitmapFactory.decodeResource(res, R.drawable.baodao); house=BitmapFactory.decodeResource(res, R.drawable.fanchang); public myView(Context context, AttributeSet att) this(context); @Override protected void onDraw(Canvas canvas) // TODO Auto-generated method stub super.onDraw(canvas); canvas.drawBitmap(ground,0,360,new Paint()); canvas.drawBitmap(baodao,10,370,new Paint()); canvas.drawBitmap(house,90,380,new Paint()); @Override protected void onLayout(boolean changed, int l, int t, int r, int b) // TODO Auto-generated method stub

参考技术A canvas.drawBitmap(ground,0,360,new Paint()); canvas.drawBitmap(baodao,10,370,new Paint()); canvas.drawBitmap(house,90,380,new Paint());?? 360 370 380 是不是有点大,超出屏幕没?你改小点试试

为啥 XMPP 函数啥都不返回?

【中文标题】为啥 XMPP 函数啥都不返回?【英文标题】:Why XMPP function returns nothing?为什么 XMPP 函数什么都不返回? 【发布时间】:2015-11-02 10:41:47 【问题描述】:

我在文档中找到了这个:

<iq type='get' id='2'>
    <query xmlns='jabber:iq:roster'/>
</iq>

用 Swift 写成:

public class func getGroups() 
    var xmppStream: XMPPStream?

    let iq: DDXMLElement = DDXMLElement.elementWithName("iq") as! DDXMLElement
    iq.addAttributeWithName("type", stringValue: "get")
    iq.addAttributeWithName("id", stringValue: "2")

    let query: DDXMLElement = DDXMLElement(name: "query", xmlns: "jabber:iq:roster") as! DDXMLElement
    iq.addChild(query)

    xmppStream?.sendElement(iq)

当我从我的 ViewController 运行它时:

override func viewDidLoad(animated: Bool) 
    print("Group list: \(getGroups())")

它返回空值,只是Group list:

我的问题是,我怎样才能正确运行我的函数并获得结果,因为当我在服务器中运行 XMPP &lt;iq&gt; sn-p 时,它会返回值。

更新 即使在 Objective C 中,您也可以编写或更正我的代码

更新

extension OneRoster: XMPPStreamDelegate 
    public func xmppStream(sender: XMPPStream, didReceiveIQ ip: XMPPIQ) -> Bool 
        return false
    

【问题讨论】:

【参考方案1】:

您正在尝试重新发明与XMPPFramework 捆绑的XMPPRoster 模块:只需在您的XMPPStream 实例上实例化它和activate,它就会自动同步您的花名册和组。 iPhoneXMPP 示例向您展示由此模块支持的组的名册。

【讨论】:

我想我不需要它。因为我在 OneRoster 文件里面写了代码,而且它已经被激活了 如果它已经被激活,你不需要再次查询名册 - 看看 XMPPRosterStorage 实例,它已经填满了你的联系人和组 我想获取组(XEP 0083),没有这样的方法来获取此列表 这是我调用user.groups时得到的:[&lt;XMPPGroupCoreDataStorageObject: 0x7f9e33829510&gt; (entity: XMPPGroupCoreDataStorageObject; id: 0xd00000000004000a &lt;x-coredata://4C5F01F2-A5AF-42B8-A1CC-004E2940D869/XMPPGroupCoreDataStorageObject/p1&gt; ; data: &lt;fault&gt;)] 意料之中,尝试枚举这个数组并打印组名就会看到数据【参考方案2】:
xmppStream?.sendElement(iq)

就像你向服务器发出的请求,所以它不会是即时的。 您需要等待像 'didReceiveIQ:' 这样的委托被调用,然后您会得到响应。

挖掘这个委托,我相信您将能够按预期获取数据。

【讨论】:

谢谢!我已经更新了我的问题。我的文件里已经有这样的功能了 这是我调用user.groups时得到的:[&lt;XMPPGroupCoreDataStorageObject: 0x7f9e33829510&gt; (entity: XMPPGroupCoreDataStorageObject; id: 0xd00000000004000a &lt;x-coredata://4C5F01F2-A5AF-42B8-A1CC-004E2940D869/XMPPGroupCoreDataStorageObject/p1&gt; ; data: &lt;fault&gt;)] 这是来自核心数据而不是 IQ 的响应,让我知道您在委托方法中得到的 IQ 响应是什么?

以上是关于为啥我的viewgroup啥都不显示的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Activity 在恢复时再次从顶部运行而不是啥都不做?

kali的show exploits为啥啥都不显示

OpenGL啥都不显示?

为啥 php artisan 啥都不迁移?

为啥 XMPP 函数啥都不返回?

为啥 Java 的 concat() 方法啥都不做?