繁体   English   中英

Android无法启动其他活动

[英]Android not starting other activity

我是Android编程的新手,但我以前从未遇到过此问题。 当我单击按钮时,模拟器应该执行其他活动,所以它什么也没做。 这是按钮内的意图:

public class StartScreen extends Activity implements OnClickListener {

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start_screen);
}

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.bStartQuiz:
            Intent a = new Intent(StartScreen.this, QuizMenu.class);
            startActivity(a);   
        break;

以下是更多尚未定义的情况。 我尝试开始的类中的onCreate方法:

public class QuizMenu extends Activity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.categories);

这是清单:

<activity
        android:name="com.ultimatequiz.StartScreen"
        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.ultimatequiz.QuizMenu"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.ultimatequiz.QuizMenu" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

我真正不明白的是,我在日志中没有任何错误。 它不是在“响应”,而是将按钮更改为state_pressed。

我不知道您的案子是否运作良好。

public class StartScreen extends Activity {

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_start_screen);

            Button myBtn = (Button) findViewById(R.id.btn);
            myBtn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Intent a = new Intent(StartScreen.this, QuizMenu.class);
                    startActivity(a);

                }
            });
        }

}

我总是使用这种方式,我觉得它很容易处理。

如果您在onlick上定义了布局,请删除它

如果我理解正确,则想通过单击Button打开一个新活动。 然后,您要做的就是在activity_start_screen.xml有一个Button

<Button
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:id="@+id/your_button"/>

之后,您必须在StartScreen添加它:

public class StartScreen extends Activity {
      @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start_screen);

    Button button = (Button) findViewById(R.id.your_button);
    button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            Intent activityChangeIntent = new Intent(StartScreen.this,QuizMenu.class);
            StartScreen.this.startActivity(activityChangeIntent);

        }
    });

并且这仅在您的manifest

<activity
    android:name="com.ultimatequiz.StartScreen"
    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.ultimatequiz.QuizMenu"
    android:label="@string/app_name"/>

尝试为此做一个功能:

public static void LaunchIntent(){
        Intent a = new Intent(StartScreen.this, QuizMenu.class);
        startActivity(a);   

然后在点击监听器中调用函数:

public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.bStartQuiz:
        LaunchIntent();
    break;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM