2016-03-20 3 views
0

Мне нужна помощь, поскольку я пытаюсь включить поддержку макета сетки для своей библиотеки. Эта библиотека просто упрощает применение GUI к скриптам modpe. Теперь я делаю это так, я могу петлю через длину массивов и добавить их таким образом, чтобы я это сделал:Для виджета для Android-виджета

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: Can't find method android.view.ViewGroup.addView(number)

Я никогда не использовал для цикла для это, и я хотел бы немного понять, может ли кто-нибудь предоставить мне, как я мог бы это достичь, и что я сделал неправильно, пытаясь сделать то, что я сделал.

+0

Ой, подождите, дайте мне исправить несколько вещей .. забыл некоторые свойства – user6031759

+0

Ответил jonhid – user6031759

ответ

0

Может быть, вам нужно сделать, это

l.addView(bs[i]); 

Вместо

l.addView(i); 
+0

Спасибо за ответы! Я попробую. Обычно я не использую для циклов, но когда я помещаю это в класс для библиотеки, это лучший способ, которым я могу думать о – user6031759

+0

Он работал, спасибо вам большое. – user6031759