Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Tianium studio中的每行上放置按钮?_Javascript_Android_Titanium_Httpclient - Fatal编程技术网

Javascript 如何在Tianium studio中的每行上放置按钮?

Javascript 如何在Tianium studio中的每行上放置按钮?,javascript,android,titanium,httpclient,Javascript,Android,Titanium,Httpclient,我希望能够在每一行(createTableViewRow)中放置不同的按钮。我已经创建了五个按钮(Titanium.UI.createButton),但我不知道如何为每个创建的行放置所有五个按钮。 谁能告诉我怎么做吗 function sendAjax() { var xhr = Titanium.Network.createHTTPClient(); xhr.onerror = function(e){ var error = e.error;

我希望能够在每一行(createTableViewRow)中放置不同的按钮。我已经创建了五个按钮(Titanium.UI.createButton),但我不知道如何为每个创建的行放置所有五个按钮。 谁能告诉我怎么做吗

function sendAjax() {

    var xhr = Titanium.Network.createHTTPClient();

    xhr.onerror = function(e){
        var error = e.error;
        alert(error);               
    };
    xhr.open('GET', 'http://xxxxxxxxxxxxxx');
    xhr.send();

    var tv = Titanium.UI.createTableView({
        height: Titanium.UI.SIZE,
        width: Titanium.UI.FILL
    });
    win2.add(tv);

    xhr.onload = function() {

        var data = [];
        var schools = JSON.parse(this.responseText);

        for (s in schools) {
            data.push(Titanium.UI.createTableViewRow({
            title: schools[s].Name
        }));
    }
    tv.data = data;
    };
}
试试这个

var win = Ti.UI.createWindow({
backgroundColor : '#fff'
});

var tableData = [];

for(var i = 0; i < 10; i++) {
var row = Ti.UI.createTableViewRow();
var button = Ti.UI.createButton({
    title : 'Button ' + i,
    width : 100,
    height : 40,
    buttonid : i    //our custom button property
});
row.add(button);
tableData.push(row);

button.addEventListener('click', function(e) {
    Ti.API.info('button ' + e.source.buttonid + ' clicked.');
    alert('Button ' + e.source.buttonid);
});
}

var tableView = Ti.UI.createTableView({
data : tableData
});

win.add(tableView);

win.open();

如果这有用,请不要忘记将其标记为正确答案。

您应该在tableView上添加侦听器事件,而不是在行中的每个按钮上:

tableView.addEventListener("click", function (event) {
    if (event.source.buttonid) {
       //it's a button
    }
});

您好,代码很好,但是您在代码中的什么地方使用json GET?我可以在按钮上签名吗?你能告诉我哪一行显示了错误吗。请确保您在for循环之外声明了var data=[],您得到答案了吗?对我来说,它对我来说很好。很好的代码,但是当我点击按钮时,什么都没有发生。。。日志显示已单击的:[INFO]按钮对象。我想从一个json文件填充我的行…在按钮click listener Ti.API.info('button'+json.stringify(e.source.buttonid)+'clicked')中进行更改;实际上,您将行obj作为json。要打印json,您需要使用json.stringify(jsonObj)嗨,代码不错,它解决了我的问题,每个按钮都有不同的侦听器。
tableView.addEventListener("click", function (event) {
    if (event.source.buttonid) {
       //it's a button
    }
});