Java Android OnClickListener、意图和上下文
我不熟悉java和android。在这里,我试图设置我的onclicklistener,这样当单击时,它将显示另一个活动,即ActivityB.class。问题在于Java Android OnClickListener、意图和上下文,java,android,this,onclicklistener,android-context,Java,Android,This,Onclicklistener,Android Context,我不熟悉java和android。在这里,我试图设置我的onclicklistener,这样当单击时,它将显示另一个活动,即ActivityB.class。问题在于Intent i=newintent(context,ActivityB.class)我不确定要在那里放置什么内容上下文。我试图使用这个和上下文,但两者都是错误的 请您解释一下我应该在什么时候以及为什么使用这个,以及什么时候在上下文中使用其他术语 public class MainActivity extends Activity {
Intent i=newintent(context,ActivityB.class)代码>我不确定要在那里放置什么内容上下文
。我试图使用这个
和上下文
,但两者都是错误的
请您解释一下我应该在什么时候以及为什么使用这个
,以及什么时候在上下文中使用其他术语
public class MainActivity extends Activity {
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(context, ActivityB.class);
startActivity(i);
}
});
}
将代码更改为
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, ActivityB.class);
startActivity(i);
}
});
因为您需要在使用intent时传递上下文。将代码更改为
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, ActivityB.class);
startActivity(i);
}
});
因为您需要在使用intent时传递上下文。试试这个
如果您在清单中声明ActivityB.class
,这应该可以工作
Intent i = new Intent(MainActivity.this, ActivityB.class);
startActivity(i);
试试这个
如果您在清单中声明ActivityB.class
,这应该可以工作
Intent i = new Intent(MainActivity.this, ActivityB.class);
startActivity(i);
最快的方法!
希望有帮助!:D
Intent i = new Intent(this, ActivityB.class);
startActivity(i);
最快的方法!
希望有帮助!:D1)用getApplicationContext()替换上下文
Intent i = new Intent(this, ActivityB.class);
startActivity(i);
2) 将上下文替换为MainActivity.this
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,ActivityB.class);
startActivity(intent);
}
});
希望它能帮助你 1)用getApplicationContext()替换上下文
2) 将上下文替换为MainActivity.this
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,ActivityB.class);
startActivity(intent);
}
});
希望它能帮助你 谢谢!它工作得很好。我似乎能够使用getApplicationContext()并且仍然可以工作。MainActivity.this和getApplicationContext()之间有什么区别?再次感谢@JeffLam在stackoverflow上搜索CommonWarether对此有一个很好的解释,Android中有两种类型的上下文。活动上下文和应用程序上下文。如果您没有活动上下文,那么应用程序上下文应该很有用。谢谢!它工作得很好。我似乎能够使用getApplicationContext()并且仍然可以工作。MainActivity.this和getApplicationContext()之间有什么区别?再次感谢@JeffLam在stackoverflow上搜索CommonWarether对此有一个很好的解释,Android中有两种类型的上下文。活动上下文和应用程序上下文。如果您没有活动上下文,那么应用程序上下文应该是有用的。