2012-01-13 52 views
4

我有2个主要的症结得到下面这个简单的WebView例子编译:使用的Xtend为Android开发(再次)

  • 铸造部分(WebView)findViewById(R$id::webview)unresolved JvmIdentifiableElement

  • 匿名类部分完全不起作用。我想Xtend不支持它?

这里是源代码:

package com.stackoverflow 

import android.app.Activity 
import android.webkit.WebView 
import android.os.Bundle 
import android.webkit.WebViewClient 

class HelloWebViewActivity extends Activity 
{ 
    WebView _webView 

    override void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState) 
     setContentView(R$layout::main) 

     // Error "Couldn't resolve reference to JvmIdentifiableElement 'WebView'" 
     _webView = (WebView)findViewById(R$id::webview) 
     _webView.settings.javaScriptEnabled = true 
     _webView.loadUrl("http://stackoverflow.com") 

     // A bunch of complaints towards the anonymous class 
     _webView.setWebViewClient(new WebViewClient() 
     { 
      override shouldOverrideUrlLoading(WebView view, String url) 
      { 
       view.loadUrl(url) 
       true 
      } 
     }) 
    } 
} 

和我.classpath

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="xtend-gen"/> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="src" path="gen"/> 
    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins" /> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> 
    <classpathentry kind="con" path="org.eclipse.xtend.XTEND_CONTAINER"/> 
    <classpathentry kind="output" path="bin/classes"/> 
</classpath> 

想法?

回答

5

1)管型的Xtend是 '为',你的情况 _webView = findViewById(R $ ID ::网页流量)为的WebView

2)匿名类尚不支持。如果匿名类只有一个方法,请考虑使用闭包(http://www.eclipse.org/Xtext/xtend/documentation/index.html#closures关于函数映射的部分)

+0

感谢您的回答!他们解决了我提出的问题,但不幸的是,我仍然无法使用Xtend进行Android开发,但它始终会导致[“APK中出现重复内容”错误](http://stackoverflow.com/questions/2934185/how-要修复错误产生,最终归档复本入门androidmanifest-XML)。目前唯一的解决方案似乎是使用Maven的'extractDuplicate',我不想这么做。 – kizzx2 2012-01-30 09:47:34