意图活动不起作用

时间:2014-06-30 13:31:19

标签: java android android-intent

我正在做一个从一个页面移动到另一个页面的基本活动。一切都很完美,直到我深入了解应用程序两页。我为每个页面类使用了相同的确切代码,将活动放在清单中并确保所有单词拼写正确等等,但是当我尝试深入三页时,意图并没有做任何事情。根本没有日志中的错误消息。当我点击第三页上的按钮时,它只是变为蓝色,但不像前一页那样移动到下一页。这是我的代码:

从第1页到第3页:

第1页:

public class MainActivity extends ActionBarActivity {

     Button button;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerOnButton(); }

     public void addListenerOnButton() {

        final Context context = this;

       button = (Button) findViewById(R.id.button1);

       button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, MainMenu.class);
                        startActivity(intent);   

        }

        });

        }
       }

第2页:有更多按钮......

     public class MainMenu extends ActionBarActivity {

  Button button;
  Button button2;
  Button button3;
  Button button4;
  Button button5;

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

 public void addListenerOnButton() {

    final Context context = this;

   button = (Button) findViewById(R.id.button1);
   button2 = (Button) findViewById(R.id.button2);
   button3 = (Button) findViewById(R.id.button3);
   button4 = (Button) findViewById(R.id.button4);
   button5 = (Button) findViewById(R.id.button5);

   button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, OneMain.class);
                    startActivity(intent);   
    }       
    });

    button2.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, TwoMain.class);
                    startActivity(intent);   
      }       
     });

    button3.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, ThreeMain.class);
                    startActivity(intent);   
    }       
    });

    button4.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, FourMain.class);
                    startActivity(intent);   
    }       
    });

    button5.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, FiveMain.class);
                    startActivity(intent);   
    }       
    });

      }
     }

第3页:

  public class OneMain extends ActionBarActivity {

   Button button;


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

 }

public void addListenerOnButton() {

final Context context = this;



button = (Button) findViewById(R.id.button1);


button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(context, Alphabet.class);
                    startActivity(intent);   
    }       
});



       }


      } 

我也确保放入所有进口货物。有人帮忙。我卡住了:(。

这是清单xml:

   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.juwar74.alarabic"
   android:versionCode="1"
   android:versionName="1.0" >



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

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

 <activity android:name=".MainActivity"
      android:label="@string/app_name"
      android:launchMode="singleTop"
      android:screenOrientation="portrait" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
 <activity
    android:label="@string/app_name"
    android:name=".MainMenu" >
</activity>
 <activity
    android:label="@string/app_name"
    android:name=".OneMain" >
</activity>

<activity
    android:label="@string/app_name"
    android:name=".TwoMain" >
</activity>

<activity
    android:label="@string/app_name"
    android:name=".ThreeMain" >
</activity>

<activity
    android:label="@string/app_name"
    android:name=".FourMain" >
</activity>

<activity
    android:label="@string/app_name"
    android:name=".FiveMain" >
</activity>

<activity
   android:label="@string/app_name"
   android:name=".OneVoc" >
</activity>
</application>

</manifest>

这是Alphabet.class的代码

      import android.os.Bundle;
      import android.support.v7.app.ActionBarActivity;

        public class Alphabet extends ActionBarActivity {

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

        }
       }

3 个答案:

答案 0 :(得分:0)

第3页中的

您从未致电addListenerOnButton()

public class OneMain extends ActionBarActivity {

   Button button;
   @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.one_main);
          // HERE you missed addListenerOnButton();
    }

答案 1 :(得分:0)

<activity
   android:name=".Alphabet " >
</activity>

你在manifest.xml中错过了这个

答案 2 :(得分:0)

首先在addListenerOnButton()之后调用OneMain.java中的setContentView。 然后检查清单。 Alphabet.class未在清单中注册。

<activity
    android:label="@string/app_name"
    android:name=".Alphabet" >
</activity>

添加后,请确保在Alphabet.java中呈现正确的xml