#android #android-intent #android-activity
#Android #android-намерение #android-активность
Вопрос:
Я выполняю базовое действие по переходу с одной страницы на другую. Все шло идеально, пока я не углубился в приложение на две страницы. Я использовал один и тот же точный код для каждого класса страницы, поместил действия в манифест и убедился, что все слова написаны правильно и т. Д., Но намерение ничего не делает, когда я пытаюсь углубиться на три страницы. В журнале вообще нет сообщений об ошибках. Когда я нажимаю на кнопку на третьей странице, она просто становится синей, но не переходит на следующую страницу, как на предыдущих страницах. Вот мой код:
со страницы 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);
}
}
Комментарии:
1. Вместо использования контекста внутри намерения попробуйте использовать youractivityname.this или getApplicationContext()
2. У вас так много общих идентификаторов. Пожалуйста, сначала измените их, по крайней мере, для целей обслуживания.
3. Не могли бы вы опубликовать код для «Alphabet.java » класс.
4. опубликуйте свой
manifest
файл