问题描述
我试图创建一个打开一个不同的活动一个简单的按钮:
包com.example.xxx.buttonexample;
进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.widget.Button;
进口android.view.View;
进口android.view.View.OnClickListener;
公共类MainActivity延伸活动{
Button按钮;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
btnClick();
}
公共无效btnClick(){
按钮=(按钮)findViewById(R.id.button1);
button.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v)
{
意向意图=新的意图(这一点,emergencyIntent.class);
startActivity(意向);
}
});
}
}
下面是我的emergencyIntent.class文件:
包com.example.xxx.buttonexample;
进口android.app.Activity;
进口android.os.Bundle;
公共类emergencyIntent扩展活动
{
@覆盖
公共无效的onCreate(包savedInstanceState)
{
super.onCreate(savedInstanceState);
//活动正在创建。
}
}
我收到一个错误:
只需更换这
与第一个参数 MainActivity.this
。这样的:
意向意图=新的意图(MainActivity.this,emergencyIntent.class);
这个错误是因为你写它公共无效的onClick(视图v)
,其中这
将意味着类的实例,它实现 View.OnClickListener
。而在意向构造函数的第一个参数意图(上下文packageContext,类<> CLS)。
要求MainActivity背景
I'm trying to create a simple button that opens to a different activity:
package com.example.xxx.buttonexample;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnClick();
}
public void btnClick() {
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
Intent intent = new Intent(this,emergencyIntent.class);
startActivity(intent);
}
});
}
}
Here is my emergencyIntent.class file:
package com.example.xxx.buttonexample;
import android.app.Activity;
import android.os.Bundle;
public class emergencyIntent extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// The activity is being created.
}
}
I received a error:
Just replace this
in first parameter with MainActivity.this
. like:
Intent intent = new Intent(MainActivity.this,emergencyIntent.class);
The error is because you are writing it in public void onClick(View v)
, where 'this
' will mean instance of class that implements View.OnClickListener
. while first parameter in Intent constructor Intent(Context packageContext, Class<?> cls)
requires MainActivity context.
这篇关于无法解析构造器(Android的意图)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!