【问题标题】: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);