【问题标题】:Problems with an Intent in AndroidAndroid 中的 Intent 问题
【发布时间】:2012-05-30 13:06:33
【问题描述】:
final Button OptButton = (Button) findViewById(R.id.OptButton);
        OptButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent OptionsSc = new Intent(this, OptionsActivity.class);
                startActivity (OptionsSc);
            }
        });

Eclipse 不断强调new Intent(this, OptionsActivity.class); 部分,我不明白为什么。以前对 OptionsActivity 的调用被分配给硬件搜索按钮,一切正常。

【问题讨论】:

    标签: android eclipse button android-intent


    【解决方案1】:

    在您的情况下,this 不是指有效的Context(例如当您在Activity 中使用this 时),而是指匿名内部类OnCLickListener 类(在哪里onClick 方法声明)。相反,您应该使用:

    Intent OptionsSc = new Intent(YourActivityName.this, OptionsActivity.class);
    

    【讨论】:

      【解决方案2】:

      这是因为你在一个 onClickListener class 中,并且你 this 引用了当前类的对象,这里要么使用 getApplicationcontext 要么使用 YourActivityName.this

      这应该可以解决您的问题:)

      【讨论】:

        【解决方案3】:

        在您的按钮点击监听器中编写以下代码...

          Intent intent = new Intent (Main.this,Second.class);
          StartActivity(intent);
        

        【讨论】:

          【解决方案4】:

          尝试任何一个这样的,

           Intent OptionsSc = new Intent(YourActivity.this, OptionsActivity.class);
                          startActivity (OptionsSc);
          

          startActivity(new Intent(YourActivity.this, OptionsActivity.class));    
          

          【讨论】:

          • 问题已得到解释和修复,但感谢您的贡献。
          【解决方案5】:

          你可以这样使用;

          Context c= MyActivityName.this;
          Intent OptionsSc = new Intent(c, OptionsActivity.class);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-04-06
            • 1970-01-01
            • 2019-03-12
            • 2010-12-05
            • 2021-09-18
            • 2010-12-21
            • 2012-03-31
            相关资源
            最近更新 更多