我正在使用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.');
}
});
}
答案 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.
}
});
}
评论是否需要更多说明或信息。我很乐意帮忙。