android studio 1.1 中的 WebView 的 findViewById returns null

findViewById returns null for WebView in android studio 1.1

我构建了一个 android 应用程序,其中包含一个网络视图。我使用 Android studio 1.1。最小的SDK是19,只有一种布局,下面代码activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<WebView android:text="@+id/web_view" android:layout_width="match_parent"
        android:layout_height="match_parent" />
    </RelativeLayout>

java class MainActivity.java 如下:

public class MainActivity extends ActionBarActivity {
private WebView web_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    web_view = (WebView) findViewById(R.id.web_view);
    WebSettings webSetting= web_view.getSettings();
    webSetting.setJavaScriptEnabled(true);
    web_view.setWebChromeClient(new WebChromeClient());
    web_view.loadUrl("file:///andorid_asset/www/index.html");       

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
    }
}

错误是来自 onCreate 函数的 java.lang.NullPointerException 语句 WebSettings webSetting = web_view.getSettings(), 我已经检查过变量 web_view 是否为空,这意味着语句 findViewById (R.id.web_view) 没有 return 任何内容。如您所见,webview存在于布局xml文件中,代码中调用了正确的布局文件(实际上只有这个布局xml)。我真的不知道会发生什么。我确实阅读了 link findViewById returns null for WebView。我也 clean/rebuild 投影了几次,重启了我的设备 (Samsung Galaxy TAB S, android 4.4.2) 几次。没用。
有人可以指出什么是错的吗? 提前致谢!

您定义的 id 属性 WebView 错误。

你有:

WebView android:text="@+id/web_view"

应该是:

WebView android:id="@+id/web_view"

尝试更改标签名称:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<!-- BAD PROPERY NAME HERE -->
<WebView android:id="@+id/web_view" android:layout_width="match_parent"
        android:layout_height="match_parent" />

    </RelativeLayout>

来自 android:text="@+id/web_view" 对于 android:id="@+id/web_view"