2015-08-14 76 views
0

我有这样的Android代码,从一个JavaScript函数得到的返回值,我有这样的代码:执行此JavaScript函数,并得到一个返回值

file_list_detail_webview1.evaluateJavascript("javascript:getValue();", new ValueCallback<String>() { 
       @Override 
       public void onReceiveValue(String s) { 

        JsonReader reader = new JsonReader(new StringReader(s)); 

        // Must set lenient to parse single values 
        reader.setLenient(true); 

        try { 
         if(reader.peek() != JsonToken.NULL) { 
          if(reader.peek() == JsonToken.STRING) { 
           String msg = reader.nextString(); 
           if(msg != null) { 
            FileFunction fileFunction = new FileFunction(); 
            try { 
             fileFunction.writeFile(filePath, msg); 
            } catch (ArcAppException e) { 
             e.printStackTrace(); 
            } 
           } 
          } 
         } 
        } catch (IOException e) { 
         Log.e("TAG", "MainActivity: IOException", e); 
        } finally { 
         try { 
          reader.close(); 
         } catch (IOException e) { 
          // NOOP 
         } 
        } 
       } 
      }); 

我想这样做一个public String里面,这样我可以重用它,只是从中得到返回值。我尝试过这样做,但是我使用的字符串出现错误。

任何人都可以请给我一个例子如何正确地做到这一点?

回答

0

我没有足够的评论声望,但我不明白你为什么使用字符串作为方法名称。是不是字符串public void String是不允许的,因为字符串是一个保留关键字,不允许用作方法名称。

如果要将返回类型设置为字符串,则需要声明该方法为public String yourMethodName

相关问题