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