第二项活动没有开始

时间:2014-04-30 21:03:44

标签: android android-intent android-activity

我在这里阅读了很多,但没有什么能帮助我。

正如标题所说,我正在编写一个包含两个活动的简单Android应用程序。第一个包括一个按钮。通过单击此按钮,应激活第二个活动。但没有任何反应。

我的宣言:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.schnitzeljagd"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.schnitzeljagd.UiActivity"
        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.example.schnitzeljagd.showArchivements"
        android:label="@string/app_name" >
    </activity>
</application>

</manifest>

我的第一项活动是:

package com.example.schnitzeljagd;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class UiActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ui_activitiy);
    Button next = (Button) findViewById(R.id.button2);
    final Intent intent = new Intent(this, showArchivements.class);
    next.setOnClickListener(new View.OnClickListener() {


        public void onClick(View v) {
    startActivity(intent);  }
    });
    }

@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;
   }


}

我的第二个:

package com.example.schnitzeljagd;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class showArchivements extends Activity{


  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ui_activitiy);



    }

}

有没有人想到这里可能有什么问题?

对不起我令人毛骨悚然的英语,谢谢你的回答!

5 个答案:

答案 0 :(得分:3)

你在showArchivements中再次夸大了游戏性。

试试这个:

public class showArchivements extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout. _YOUR_SHOW_ARCHIVEMENTS_LAYOUT_NAME_);
    }
}

答案 1 :(得分:1)

这里的问题是您对Activities使用相同的布局。实际上第二个Activity正常打开,但你没有看到任何差异,因为布局是相同的。因此,只需为第二个Activity创建另一个布局,并在setContentView调用时使用它。

答案 2 :(得分:0)

在showArchivements活动中将R.layout.ui_activitiy更改为其他。

答案 3 :(得分:0)

将此项作为按钮所在活动中的点击脉冲?在你的主要现在。

&#34;您现在所处活动的名称&#34; .this,&#34;您要打开的活动的名称&#34; .class

    public class OnClick implements OnClickListener {   

    @Override
    public void onClick(View v) {
        startActivity(new Intent(**main_activity.this, second_activity.class**));
    }
}   

也许你可以在第二个活动中将一个textView放入你的onCreate中,然后你确定点击后需要弹出一些东西; - )

并在onCreateOptionsMenu之后放置onClick部分(如上所示..)。并删除onCreate中的onClick部分。

您的第一个和第二个活动需要另一个布局.xml

试试这个,我希望它有效!当它工作时,让它知道!标记此帖已解决! : - )

古德勒克,

答案 4 :(得分:0)

试试这个......

Thus demo application tutorial向您展示如何与活动互动,当点击按钮时,从当前屏幕(当前活动)导航到另一个屏幕(另一个活动)。

<强> UiActivity.java

package com.example.schnitzeljagd;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class UiActivity extends Activity {

 private Button next;

 @Override
  protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.ui_activity_one);

   next = (Button) findViewById(R.id.button2);

   next.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

       Intent intent = new Intent(this, showArchivements.class);
       startActivity(intent); 
       }
    });
   }

  @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;
  }
}

<强> showArchivements.java

package com.example.schnitzeljagd;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

 public class showArchivements extends Activity{


 @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.ui_activity_two);

  }

 }

<强>的Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.schnitzeljagd"
  android:versionCode="1"
  android:versionName="1.0" >

<uses-sdk
   android:minSdkVersion="8"
   android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
   <activity
       android:name="com.example.schnitzeljagd.UiActivity"
       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.example.schnitzeljagd.showArchivements"
           android:label="@string/app_name" >
       </activity>
  </application>

 </manifest>