【问题标题】:For loop android widgetsFor循环android小部件
【发布时间】:2016-03-20 16:00:02
【问题描述】:

我需要帮助,因为我正在尝试为我的库添加网格布局支持。这个库只是更容易将 gui 应用于 modpe 脚本。现在我正在这样做,所以我可以遍历数组长度并以这种方式添加它们,所以我这样做了:

var ctx = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();

function newLevel() {
    ctx.runOnUiThread(new java.lang.Runnable() {
        run: function()
        {
            try
            {
                var p = new android.widget.PopupWindow(ctx);
                var l = new android.widget.GridLayout(ctx);
                var bs = [b1, b2, b3, b4];
                for (var i = 0; i < bs.length; i++)
                {
                    l.addView(i);
                }
                p.setContentView(l);
                p.showAtLocation(ctx.getWindow().getDecorView(), android.view.Gravity.TOP | android.view.Gravity.LEFT, 0, 0);
            }
            catch (error)
            {
                clientMessage(error);
            }
        }
    });
}
var b1 = new android.widget.Button(ctx);
var b2 = new android.widget.Button(ctx);
var b3 = new android.widget.Button(ctx);
var b4 = new android.widget.Button(ctx);

现在它给出的错误是

InternalError: 找不到方法 android.view.ViewGroup.addView(number)

我从未为此使用过 for 循环,如果有人能告诉我如何实现这一点,以及在尝试我所做的事情时我做错了什么,我想了解一下。

【问题讨论】:

  • 哦,等一下,让我解决一些问题.. 忘记了一些属性
  • 乔希德回答

标签: javascript java rhino


【解决方案1】:

也许你需要这样做

l.addView(bs[i]);

代替

l.addView(i);

【讨论】:

  • 感谢您的回答!我会试试。我通常不使用 for 循环,但是当我将它放入库的类中时,这是我能想到的最佳方式