我在这里阅读了很多,但没有什么能帮助我。
正如标题所说,我正在编写一个包含两个活动的简单Android应用程序。第一个包括一个按钮。通过单击此按钮,应激活第二个活动。但没有任何反应。
我的宣言:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.schnitzeljagd"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.schnitzeljagd.UiActivity"
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="com.example.schnitzeljagd.showArchivements"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
我的第一项活动是:
package com.example.schnitzeljagd;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class UiActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ui_activitiy);
Button next = (Button) findViewById(R.id.button2);
final Intent intent = new Intent(this, showArchivements.class);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(intent); }
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我的第二个:
package com.example.schnitzeljagd;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class showArchivements extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ui_activitiy);
}
}
有没有人想到这里可能有什么问题?
对不起我令人毛骨悚然的英语,谢谢你的回答!
答案 0 :(得分:3)
你在showArchivements中再次夸大了游戏性。
试试这个:
public class showArchivements extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. _YOUR_SHOW_ARCHIVEMENTS_LAYOUT_NAME_);
}
}
答案 1 :(得分:1)
这里的问题是您对Activities
使用相同的布局。实际上第二个Activity
正常打开,但你没有看到任何差异,因为布局是相同的。因此,只需为第二个Activity
创建另一个布局,并在setContentView
调用时使用它。
答案 2 :(得分:0)
在showArchivements活动中将R.layout.ui_activitiy
更改为其他。
答案 3 :(得分:0)
将此项作为按钮所在活动中的点击脉冲?在你的主要现在。
&#34;您现在所处活动的名称&#34; .this,&#34;您要打开的活动的名称&#34; .class
public class OnClick implements OnClickListener {
@Override
public void onClick(View v) {
startActivity(new Intent(**main_activity.this, second_activity.class**));
}
}
也许你可以在第二个活动中将一个textView放入你的onCreate中,然后你确定点击后需要弹出一些东西; - )
并在onCreateOptionsMenu之后放置onClick部分(如上所示..)。并删除onCreate中的onClick部分。
您的第一个和第二个活动需要另一个布局.xml
试试这个,我希望它有效!当它工作时,让它知道!标记此帖已解决! : - )
古德勒克,
答案 4 :(得分:0)
试试这个......
Thus demo application tutorial向您展示如何与活动互动,当点击按钮时,从当前屏幕(当前活动)导航到另一个屏幕(另一个活动)。
<强> UiActivity.java 强>
package com.example.schnitzeljagd;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class UiActivity extends Activity {
private Button next;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ui_activity_one);
next = (Button) findViewById(R.id.button2);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(this, showArchivements.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
<强> showArchivements.java 强>
package com.example.schnitzeljagd;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class showArchivements extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ui_activity_two);
}
}
<强>的Manifest.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.schnitzeljagd"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.schnitzeljagd.UiActivity"
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="com.example.schnitzeljagd.showArchivements"
android:label="@string/app_name" >
</activity>
</application>
</manifest>