Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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
Android删除要匹配的参数";意图();_Android - Fatal编程技术网

Android删除要匹配的参数";意图();

Android删除要匹配的参数";意图();,android,Android,我正在尝试启动第二个活动,但代码出错 import android.os.Bundle; import android.content.Intent; import android.app.Activity; import android.widget.Button; import android.view.View; import android.app.Activity; import android.content.Intent; import android.view.Menu; i

我正在尝试启动第二个活动,但代码出错

import android.os.Bundle;
import android.content.Intent;
import android.app.Activity;
import android.widget.Button;

import android.view.View;

import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.Toast;


public class MainActivity extends Activity
{
    private static final int ID_SPLASH = 1;
    private static final int ID_MAIN = 2;
    private static final int ID_PROFILE = 3;
    private static final int ID_PLAY = 4;
    private static final int ID_HELP = 5;


    @Override

    protected void onCreate(Bundle savedInstanceState)
    {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setContentView(R.layout.main);
        ImageButton menuBtn = (ImageButton)findViewById(R.id.iBtn1);
        //Button example1Btn    = (Button) findViewById(R.id.btn1);
        ActionItem splashItem   = new ActionItem(ID_SPLASH, "Splash", getResources().getDrawable(R.drawable.ic_action_about));
        ActionItem mainItem     = new ActionItem(ID_MAIN, "Main", getResources().getDrawable(R.drawable.ic_content_undo));
        ActionItem profileItem  = new ActionItem(ID_PROFILE, "Profile", getResources().getDrawable(R.drawable.ic_social_person));
        ActionItem playItem     = new ActionItem(ID_PLAY, "Play", getResources().getDrawable(R.drawable.ic_hardware_gamepad));
        ActionItem helpItem     = new ActionItem(ID_HELP, "Help", getResources().getDrawable(R.drawable.ic_action_help));

        //use setSticky(true) to disable QuickAction dialog being dismissed after an item is clicked
        helpItem.setSticky(true);

        final QuickAction mQuickAction  = new QuickAction(this);

        mQuickAction.addActionItem(splashItem);
        mQuickAction.addActionItem(mainItem);
        mQuickAction.addActionItem(profileItem);
        mQuickAction.addActionItem(playItem);
        mQuickAction.addActionItem(helpItem);

        //setup the action item click listener
        mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {
            @Override
            public void onItemClick(QuickAction quickAction, int pos, int actionId) {
                ActionItem actionItem = quickAction.getActionItem(pos);

                if (actionId == ID_SPLASH) {
                    Intent intent = new Intent(this, SplashActivity.class);
                    startActivity(intent);

                } else if (actionId == ID_MAIN) {
                    Toast.makeText(getApplicationContext(), "Main---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_PROFILE) {
                    Toast.makeText(getApplicationContext(), "Profile---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_PLAY) {
                    Toast.makeText(getApplicationContext(), "Play---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_HELP) {
                    Toast.makeText(getApplicationContext(), "Help---> item selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), actionItem.getTitle() + " selected", Toast.LENGTH_SHORT).show();
                }
            }
        });

        mQuickAction.setOnDismissListener(new QuickAction.OnDismissListener() {
            @Override
            public void onDismiss() {
                Toast.makeText(getApplicationContext(), "Ups..dismissed", Toast.LENGTH_SHORT).show();
            }
        });

        menuBtn.setOnClickListener(new View.OnClickListener() {         
            @Override
            public void onClick(View v) {
                mQuickAction.show(v);
            }
        });

    }
}
它不喜欢从新开始的一切

我觉得我是按照指示做的

您试图作为上下文传递的实际上是
onActionItemClickListener()
,这将不起作用

应该使用
getBaseContext()

Intent Intent=newintent(getBaseContext(),SplashActivity.class)

编辑: 或者你也可以


Intent Intent=新的Intent(MainActivity.this、SplashActivity.class)

在Java中,
引用包含代码的类的当前实例

import android.os.Bundle;
import android.content.Intent;
import android.app.Activity;
import android.widget.Button;

import android.view.View;

import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.Toast;


public class MainActivity extends Activity
{
    private static final int ID_SPLASH = 1;
    private static final int ID_MAIN = 2;
    private static final int ID_PROFILE = 3;
    private static final int ID_PLAY = 4;
    private static final int ID_HELP = 5;


    @Override

    protected void onCreate(Bundle savedInstanceState)
    {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setContentView(R.layout.main);
        ImageButton menuBtn = (ImageButton)findViewById(R.id.iBtn1);
        //Button example1Btn    = (Button) findViewById(R.id.btn1);
        ActionItem splashItem   = new ActionItem(ID_SPLASH, "Splash", getResources().getDrawable(R.drawable.ic_action_about));
        ActionItem mainItem     = new ActionItem(ID_MAIN, "Main", getResources().getDrawable(R.drawable.ic_content_undo));
        ActionItem profileItem  = new ActionItem(ID_PROFILE, "Profile", getResources().getDrawable(R.drawable.ic_social_person));
        ActionItem playItem     = new ActionItem(ID_PLAY, "Play", getResources().getDrawable(R.drawable.ic_hardware_gamepad));
        ActionItem helpItem     = new ActionItem(ID_HELP, "Help", getResources().getDrawable(R.drawable.ic_action_help));

        //use setSticky(true) to disable QuickAction dialog being dismissed after an item is clicked
        helpItem.setSticky(true);

        final QuickAction mQuickAction  = new QuickAction(this);

        mQuickAction.addActionItem(splashItem);
        mQuickAction.addActionItem(mainItem);
        mQuickAction.addActionItem(profileItem);
        mQuickAction.addActionItem(playItem);
        mQuickAction.addActionItem(helpItem);

        //setup the action item click listener
        mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {
            @Override
            public void onItemClick(QuickAction quickAction, int pos, int actionId) {
                ActionItem actionItem = quickAction.getActionItem(pos);

                if (actionId == ID_SPLASH) {
                    Intent intent = new Intent(this, SplashActivity.class);
                    startActivity(intent);

                } else if (actionId == ID_MAIN) {
                    Toast.makeText(getApplicationContext(), "Main---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_PROFILE) {
                    Toast.makeText(getApplicationContext(), "Profile---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_PLAY) {
                    Toast.makeText(getApplicationContext(), "Play---> item selected", Toast.LENGTH_SHORT).show();
                } else if (actionId == ID_HELP) {
                    Toast.makeText(getApplicationContext(), "Help---> item selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), actionItem.getTitle() + " selected", Toast.LENGTH_SHORT).show();
                }
            }
        });

        mQuickAction.setOnDismissListener(new QuickAction.OnDismissListener() {
            @Override
            public void onDismiss() {
                Toast.makeText(getApplicationContext(), "Ups..dismissed", Toast.LENGTH_SHORT).show();
            }
        });

        menuBtn.setOnClickListener(new View.OnClickListener() {         
            @Override
            public void onClick(View v) {
                mQuickAction.show(v);
            }
        });

    }
}
这里

您正在OnItemClickListener类实例的方法OnItemClickListener中创建intent。这被称为“匿名内部类”。匿名,因为它没有名称(不同于
公共类MyClass
),而内部,因为它只存在于声明它的类实例中

因此,此
引用单击侦听器的实例

相反,使用外部类的实例—您的活动

Intent intent = new Intent(MainActivity.this, SplashActivity.class);
考虑这一点的另一种方式是,您正在使用的意图的构造函数期望上下文作为第一个参数

从文档中:

意图(Context packageContext,类cls)为 特定组件


因为活动扩展了上下文,所以您的活动是上下文的实例。OnActionItemClickListener是一个类,因此编译器将生成编译时错误。

请写下所有项目代码,如果没有关于错误的详细信息,将无法帮助您。可能是您需要导入Intent,您的上下文不正确,您的活动类不存在等。这在另一个文件中,但错误是删除参数以匹配“Intent()”。我也刚刚找到了这个,不确定我之前在谷歌搜索的内容没有出现。几乎是对的。onActionItemClickListener()不是上下文。这是一个类实例。上下文是Android中的一个基类,活动就是从它派生的。