无法从子方法获取数据

时间:2019-12-17 17:34:37

标签: java android

我有一个带有许多内部方法的类。这些方法被其他许多类调用。代码示例为

public class Main extends Activity{
    public Main(){}

    public static String method1(String name)
    {
       String path="path";
       name.setOnclickListener(new View.onClickListener(){
          @Override
          public void onClick(View v) {
            path="newPath";    //this giving me error
            }
          });

       return path;
      }

}

但是我不能给“ path”赋新值。给我一个错误,无法将“ String path”设置为“ final”。但是,当我将其设置为“最终”变量时,仍然给我一个错误,再次删除了“最终”变量。

我的问题是“如何从onClickListener方法获取新数据并将其返回”。

对不起,我的英语写作能力很差。

1 个答案:

答案 0 :(得分:0)

您可以创建包装对象来存储更改的数据:

static class Wrapper {
    public String path = "path";
}

public static String method1(String name) {
       final Wrapper wrapper = new Wrapper();
       name.setOnclickListener(new View.onClickListener(){
          @Override
          public void onClick(View v) {
            wrapper.path = "newPath";
            }
          });

       return path;
}