我很难过,我没有活动来处理意图,我检查了清单等。有人可以快速查看一下,看看我在这里做错了什么。
这是我的java类
'import com.one2.indoor.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageButton tut1 = (ImageButton) findViewById(R.id.activitymain);
tut1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity (new Intent("com.indoor.ActivityMain"));
}
});
}'
这是我的ActivityMain类
'import com.one2.indoor.R;
import android.app.Activity;
import android.os.Bundle;
public class ActivityMain extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tutorial);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
}'
最后我的清单
'<activity
android:name="com.indoor.Main"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.indoor.Menu"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="com.indoor.MENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.indoor.ActivityMain"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="com.indoor.ACTIVITYMAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.indoor.ActivityMain" />
</activity>
</application>
</manifest>
我无法看到它,为什么我收到错误。非常感谢任何帮助
答案 0 :(得分:0)
清单中活动的路径和startActivity可能不正确。它应该是com.one2.indoor.ActivityMain,或者指定为其包的任何内容。
或者,我认为您可以将.ActivityMain放在名称的清单中,它会自动计算出路径。
最后,尝试使用startActivity(new Intent(YourActivity.this,TargetActivity.class))
答案 1 :(得分:0)
就像synergy8说的那样,你应该接受他的答案,但你需要在新活动声明的android清单中有一个新的意图。
所以为了更清楚你应该看到你的清单有这样的抱歉我在一个移动智能手机上这样做
<activity
android:label="@string/app_name"
android:name=".MainActivity" > //your activity name replaces .main activity
<intent-filter >
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
应该这样做,如果你看看在那里创建的第一个活动,你会看到它,只需复制并粘贴它,并在意图过滤器中改变.main和它在活动中的.mainactivity
基本上从我看到的和synergy所说的导入不存在的包的内容是什么? Com.indoor.activity,当你的包是com.one2.indoor.activity
答案 2 :(得分:0)
首先,操作字符串区分大小写。 "com.indoor.ActivityMain"
不等于"com.indoor.ACTIVITYMAIN"
。
其次,您可能不希望这些额外的<intent-filter>
元素。如果您希望第三方应用直接调用该活动(例如,您的<intent-filter>
/ MAIN
活动),仅会在活动上加LAUNCHER
。否则,摆脱<intent-filter>
并使用Synergy807指出的Intent
结构:startActivity(new Intent(this, ActivityMain.class))
答案 3 :(得分:0)
我想这将是com.one2.indoor.ActivityMain.Also确保名称应该与区分大小写完全相同。