Как сделать динамическое время действия кнопки - PullRequest
0 голосов
/ 02 сентября 2011

Я работаю над PhoneGap с Android.Я хочу создать несколько кнопок во время выполнения.

Это функция, которая получает список URL.Поэтому хочу создать список кнопок по одной для каждого URL.поэтому всякий раз, когда я нажимаю эту кнопку, я могу достичь этого URL-адреса. '

Количество кнопок зависит от количества URL-адресов, получаемых с помощью этой функции.Пожалуйста, предложите мне, что я должен сделать для этого, чтобы создать кнопку во время выполнения.

это код, который получает URL: -

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 Ответ

1 голос
/ 03 сентября 2011

Допустим, идентификатор вашего родительского макета равен 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.    
                    }
                });
}

Прокомментируйте, если вам нужно больше разъяснений или информации.Я был бы рад помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...