Einleitung Aktivität von android Optionen-Menü
Habe ich durch diese Foren zu finden, eine Lösung für dieses problem, und obwohl es scheinen Lösungen, keiner von Ihnen scheinen für mich arbeiten. So, hier geht.
Ich bin ein Neuling auf Android-Entwicklung. Ich habe ein app mit Menü "Optionen". Wenn ich auf eine der Optionen, ich will es starten Sie eine neue Aktivität - aber ich erhalte die Fehlermeldung
Intent cannot be resolved to a type
in home.java auf der Linie:
Intent intent = new Intent(this, about.class);
Unten ist alles von meinem code, ich glaube, relevant ist. Bitte lassen Sie mich wissen, wenn Sie brauchen, um zu sehen, nichts anderes. Wie ich schon sagte, ich habe versucht, Folgen andere Fragen, aber keiner von Ihnen scheint zu funktionieren für mich (wie-in der folgende code scheint zu funktionieren für alle anderen). Jede Hilfe wäre genial.
Habe ich mein Menü definiert res/menu/main_menu.xml von:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/home"
android:icon="@drawable/ic_menu_home"
android:title="@string/home" />
<item android:id="@+id/about"
android:icon="@drawable/ic_menu_about"
android:title="@string/about" />
</menu>
Habe ich zwei Aktivitäten - home.java und about.java. Home.java ist die Aktivität, die gestartet wird, wenn die app gestartet wird und ist unten dargestellt.
package ca.example.home;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class home extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
//Handle item selection
switch (item.getItemId()) {
case R.id.home:
return true;
case R.id.about:
Intent intent = new Intent(this, about.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
About.java ist die neue Aktivität gestartet werden und ist nachfolgend dargestellt:
package ca.brianmccain.nbla;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
public class about extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
}
Habe ich geändert manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ca.example.home"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".home"
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=".about">
</activity>
</application>
</manifest>
InformationsquelleAutor bpmccain | 2011-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie importieren Sie die Absicht Klasse.
Wenn Sie jemals einen ähnlichen Fehler, und wenn Sie mit eclipse
drücken Sie Strg-Shift-O ("Organize imports") - diese sucht, alle erforderlichen Importe und fügt Sie in die Datei.
Hehe passiert jedem. Seien Sie nicht so hart zu sich selbst. Happy coding. 🙂
InformationsquelleAutor
Ich löste mein Menü problem. Das Menü Seite öffnen würde, aber wenn ich klickte auf eine individuelle Menü-option, würde es nicht gehen, um die nächste Seite /Aktivität.
Es wurde alles durch eine einfache addition von einem "Raum" rechts am Ende der Anweisung nach dem "." vor der + - Käse habe ich gelöscht, der Raum und es hat funktioniert.
BEVOR
Klasse ourClass = Klasse.forName("com.Beispiel.androidtutorial2. "+Käse);
NACH
Klasse ourClass = Klasse.forName("com.Beispiel.androidtutorial2." +Käse);
InformationsquelleAutor user2070873