如何制作动态时间动作按钮

时间:2011-09-02 11:12:18

标签: android cordova

我正在使用android进行phonegap。我想在运行时创建多个按钮。

这是获取网址列表的功能。因此,想要为每个网址创建一个按钮列表。所以每当我按下那个按钮,我就可以到达那个网址。'

按钮数量取决于此功能获取的网址数量。请建议我在运行时如何为此创建按钮。

这是获取网址的代码: -

function getData(){
   var output = $('#rt');
     $.ajax({
         url: 'http://192.168.1.214/MusicApplication/searchlatest.php',
         dataType: 'jsonp',
         jsonp: 'jsoncallback',
         timeout: 5000,
         success: function(data, status){
             if(jQuery.isEmptyObject(data)){
                 alert("invalid user");
             }else{

                 $.each(data, function(i,item){
                 alert(item.url);
                 //what should i do to create number of buttons according to each URL which 
                 //are received from php page(a server page)
                 output.append(logi);
             });
             }
         },
         error: function(){

            output.text('There was an error loading the data.');
         }
     });
 }

1 个答案:

答案 0 :(得分:1)

假设你的父布局的id是linearLayout。

使用ArrayList,您可以动态添加每个按钮,并让每个按钮都有自己的onclicklistener。

ArrayList<Button> buttonList = new ArrayList<Button>();
for (int i = 0; i <= numOfURLS; i++){
     buttonList.ensureCapacity(buttonList.size()+1);
     buttonList.add(new Button(this));
     buttonList.get(i).setText("Text Here");
     buttonList.get(i).setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View arg0) {
                         openURL(URL); //Here, I'm assuming you made your own method with an intent or whatever to open the desired url.    
                    }
                });
}

评论是否需要更多说明或信息。我很乐意帮忙。