Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用按钮(onClick)取消postDelayed_Java_Android_Eclipse_Onclick_Postdelayed - Fatal编程技术网

Java 用按钮(onClick)取消postDelayed

Java 用按钮(onClick)取消postDelayed,java,android,eclipse,onclick,postdelayed,Java,Android,Eclipse,Onclick,Postdelayed,帮我编码。 我不擅长编写java和xml,所以请帮助我 介绍活动显示1500ms,之后显示主要活动。 我想在介绍活动中添加跳过按钮 单击“跳过”按钮时,我想跳到主活动 这是我的代码: MainActivity.java package com.bedrock.schedule; import android.R.menu; import android.R.anim; import android.R.layout; import android.app.Activity; import an

帮我编码。 我不擅长编写java和xml,所以请帮助我

介绍活动显示1500ms,之后显示主要活动。 我想在介绍活动中添加跳过按钮

单击“跳过”按钮时,我想跳到主活动

这是我的代码:

MainActivity.java

package com.bedrock.schedule;

import android.R.menu;
import android.R.anim;
import android.R.layout;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;


public class MainActivity extends Activity {

private BackPressCloseHandler backPressCloseHandler;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Start Transition Animation
    this.overridePendingTransition(R.anim.startenter, R.anim.startexit);
    setContentView(R.layout.activity_main);

    //Image Animation
    ImageView image = (ImageView)findViewById(R.id.Logo);
    Animation animation=AnimationUtils.loadAnimation(this, R.anim.logoenter);
    image.startAnimation(animation);

    //Image Homepage Link
    image.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_BROWSABLE);
            intent.setData(Uri.parse("http://young-dong.ms.kr"));
            startActivity(intent);
        }
    });

    //Exit Toast
    backPressCloseHandler = new BackPressCloseHandler(this);
}

//Button Activity Link
public void ClassMain(View view) 
{
    Intent intent = new Intent(MainActivity.this, ClassMain.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;
}

//Exit Toast
@Override
public void onBackPressed() {
    //super.onBackPressed();
    backPressCloseHandler.onBackPressed();
}

//Finish Transition Animation
@Override
public void finish() {
    super.finish();
    this.overridePendingTransition(R.anim.endenter, R.anim.endexit);
}
package com.bedrock.schedule;

import com.bedrock.schedule.R;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;

public class IntroActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.overridePendingTransition(R.anim.startenter, R.anim.startexit);
    setContentView(R.layout.activity_intro);

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {
            Intent intent = new Intent(IntroActivity.this, MainActivity.class);
            startActivity(intent);

            //Don't show on back - Finish
            finish();
        }
    }, 1500);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.intro, menu);
    return true;
}

public void Skip(View view) 
{
    Intent intent = new Intent(IntroActivity.this, MainActivity.class);
    startActivity(intent);
}
}

IntroActivity.java

package com.bedrock.schedule;

import android.R.menu;
import android.R.anim;
import android.R.layout;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;


public class MainActivity extends Activity {

private BackPressCloseHandler backPressCloseHandler;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Start Transition Animation
    this.overridePendingTransition(R.anim.startenter, R.anim.startexit);
    setContentView(R.layout.activity_main);

    //Image Animation
    ImageView image = (ImageView)findViewById(R.id.Logo);
    Animation animation=AnimationUtils.loadAnimation(this, R.anim.logoenter);
    image.startAnimation(animation);

    //Image Homepage Link
    image.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_BROWSABLE);
            intent.setData(Uri.parse("http://young-dong.ms.kr"));
            startActivity(intent);
        }
    });

    //Exit Toast
    backPressCloseHandler = new BackPressCloseHandler(this);
}

//Button Activity Link
public void ClassMain(View view) 
{
    Intent intent = new Intent(MainActivity.this, ClassMain.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;
}

//Exit Toast
@Override
public void onBackPressed() {
    //super.onBackPressed();
    backPressCloseHandler.onBackPressed();
}

//Finish Transition Animation
@Override
public void finish() {
    super.finish();
    this.overridePendingTransition(R.anim.endenter, R.anim.endexit);
}
package com.bedrock.schedule;

import com.bedrock.schedule.R;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;

public class IntroActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.overridePendingTransition(R.anim.startenter, R.anim.startexit);
    setContentView(R.layout.activity_intro);

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {
            Intent intent = new Intent(IntroActivity.this, MainActivity.class);
            startActivity(intent);

            //Don't show on back - Finish
            finish();
        }
    }, 1500);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.intro, menu);
    return true;
}

public void Skip(View view) 
{
    Intent intent = new Intent(IntroActivity.this, MainActivity.class);
    startActivity(intent);
}
}

救命啊。。。如果你能写下代码,请。
我深陷其中,无法发布到应用商店…

非常简单,您甚至不需要取消Runnable。只需添加:

private boolean mAlreadyGone;
在课堂上。然后,在
Skip()
方法和可运行代码中,从以下内容开始:

if (mAlreadyGone)
    return;

mAlreadyGone = true;

我想跳过介绍,当我单击按钮时,它会打开新的主活动,当我退出主活动时,主活动会再次显示。@BedrockPictures是的,这是因为您调用startActivity()两次。通过这样做,你将确保只做一次。