我的代码有什么问题? 2活动应用程序,启动画面,webview

时间:2014-05-26 03:37:38

标签: android webview splash activitynotfoundexception

抱歉,我是Android应用的新手。创建。我已经提到了几乎所有的解决方案,但这不起作用......我在下面的简单代码中没有看到任何问题。我的应用很简单,加载启动画面,然后加载webview。下面是什么问题?

我得到的错误是:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.wwes.EZEE/com.wwes.EZEE.SecondPage}; have you declared this activity in your Manifext.xml

[评论]请。看下面,我已经宣布了。怎么了?

文件是:

  1. MainActivity.java:在这里我加载了初始图像。

    package com.example.EZEE;
    
    import com.wwes.EZEE.SecondPage;
    
    public class MainActivity extends Activity {
    @Override 
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    //Thread for displaying the Splash Screen //
    Thread splash_screen = new Thread() {
    public void  run() {
        try {
        sleep(1000);
        } catch (Exception e){
        e.printStackTrace();
        } finally {
        Intent i = new Intent(MainActivity.this, SecondPage.class);
        startActivity(i);
            }
            }
    }; splash_screen.start();
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }
    
  2. SecondPage.java:这会加载webview。

    package com.wwes.EZEE;
    public class SecondPage extends Activity {
    WebView browserView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    // Removed the title bare in the Application //
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_second_page);
    
    // Creation of the Webview found in the XML Layout file //
    browserView = (WebView)findViewById(R.id.webView1);
    
    // Enable Javascripts //
    browserView.getSettings().setJavaScriptEnabled(true);
    
    browserView.getSettings()....
    browserView.getSettings()....
    browserView.getSettings()....
    
    browserView.getSettings().setLoadsImagesAutomatically(true);
    
    
    // Removed both vertical and horizontal scroll bars //
    browserView.setVerticalScrollBarEnabled(false);
    browserView.setHorizontalScrollBarEnabled(false);
    browserView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    
    // Webview Wrap //
    browserView.loadUrl("http://www.ABCDE.com");
    browserView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return false;
    }
    
    });
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }
    
    @Override
    public void onBackPressed()
    {   if(browserView.canGoBack())
    browserView.goBack();
    else  super.onBackPressed(); } 
    

    }

  3. activity_main.xml中:

    <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="#800808"
    android:scaleType="fitStart"
    android:visibility="visible"
    android:src="@drawable/logo" />
    

  4. 4)activity_second_page.xml:

        <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:visibility="gone"
        android:layout_alignParentTop="true" />
    

    5)manifest.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.wwes.EZEE"
        android:versionCode="1"
        android:versionName="1.0">
    
        <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="19" />
    
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
        <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />
        ----------------------------------updated----------------------------------        
        <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.wwes.EZEERACKS.MainActivity" //// UPDATED ///
            android:configChanges="keyboard|keyboardHidden|orientation|smallestScreenSize"
            android:screenOrientation="portrait"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <activity
            android:name="com.wwes.EZEE.SecondPage"
            android:label="@string/title_activity_second_page" >
        </activity>
    
        </application>
        </manifest>
    

    感谢您的帮助!

4 个答案:

答案 0 :(得分:10)

您必须在manifest.xml文件中定义您的活动

 <activity  android:name=".SecondPage"
          android:label="@string/title_activity_second_page" >

</activity>

答案 1 :(得分:1)

您不需要清单的SecondPage标记中的<intent-filter>标记,因为您已经从MainActivity开始了活动。

所以,删除它:

<intent-filter>
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

来自:

<activity
    android:name="com.wwes.EZEE.SecondPage"
    android:label="@string/title_activity_second_page" >
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

答案 2 :(得分:0)

只需将 .SecondPage 的定义更改为 manifest.xml 文件中的以下内容

 <activity  android:name="com.wwes.EZEE.SecondPage"
              android:label="@string/title_activity_second_page" >

    </activity>

答案 3 :(得分:0)

当第二页为com.example.EZEE.MainActivity时,您的主要活动是com.wwes.EZEE.SecondPage怎么样?我会检查两者是否都在同一个包装上。

我敢打赌,如果您已将第二页名称更改为com.example.EZEE.SecondPage它将起作用。

如果它不起作用我将删除两个活动的android:name并在“”中,单击ctrl + space并让eclipse句柄将命名放到活动中。因此,所显示的活动保证在申请中有效。

希望这对您有用,请给我一个反馈。