如何使这项工作? - android编程

时间:2015-12-15 20:45:07

标签: java android

我希望这个代码部分在每个按钮上设置一个onclick监听器(我已经在另一个方法中创建了这些按钮),当它们被点击时,它会保存(到一个文件)它的"数字&# 34;或者身份证。我知道如何保存文本,但是当我尝试保存文本时,我会知道如何保存文本。变量它保存了它的最后一个值,而不是它创建时的值。我无法想到任何其他解决方案。

    for(final int l[]={0}; l[0] < filea.length; l[0]++ )
    {
        Button button = (Button) findViewById(l[0]);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                //
                //save method here
            }
        });

2 个答案:

答案 0 :(得分:3)

在循环体内声明最终变量:

for ( int ll = 0; ll < filea.length; ++ll )
{
   final int l = ll;   // Use this in the listener.

   // Rest of loop body.
}

答案 1 :(得分:-1)

你的循环结构有点奇怪(为什么不使用你循环的变量l而不是l数组结构 - 如果你想在循环之外使用total只使用filea.length)。

当你的回调被调用时,索引0中的数组值已经达到最大值。在循环中使用button.getId()代替。