在我的按钮上添加了一个OnClickListener。我希望切换到' Step1'单击按钮时的活动。当我调试它时,我点击按钮但没有任何反应。它留在了MyActivity'活动。这是我的主要活动:
package apk.olley102.roothelp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MyActivity extends Activity {
Button step1btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
step1btn = (Button) findViewById(R.id.step1btn);
step1btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent openStep = new Intent("apk.olley102.roothelp.Step1");
startActivity(openStep);
}
});
}
}
我在activity_main.xml中添加了按钮,并将布局与活动相关联。还将MainActivity.java和Step1.java添加到AndroidManifest.xml 任何帮助将不胜感激!
答案 0 :(得分:0)
通常,要启动活动,请指定当前的一个实例和要打开的实例。在你的情况下,它将是这样的:
Intent openStep = new Intent(MyActivity.this, Step1.class);
startActivity(openStep);
如果您仍想使用操作字符串启动它,请检查您的活动是否在AndroidManifest.xml
中声明了意图过滤器:
<activity android:name=".Step1">
<intent-filter>
<action android:name="apk.olley102.roothelp.Step1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
另请注意,操作字符串不需要与您的活动名称匹配:例如,您可以将其命名为apk.olley102.roothelp.GOTOSTEP1
,并在创建意图时使用相同的字符串。
答案 1 :(得分:-2)
我终于让我的按钮工作了。我不得不使用&#39; .DEFAULT&#39;在我的第二个活动类别中。
<activity
android:name=".Step1" android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="apk.olley102.instructroot.Step1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
此外,我必须指定活动&#39;。这个&#39;在我的意图。
step1btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent openStep = new Intent(MyActivity.this, Step1.class);
startActivity(openStep);
}
});
我调试了我的应用程序,现在按钮在点击时启动Step1。感谢您的帮助! :)