java - Android OnClickListener、 Intent 和上下文

标签 java android this onclicklistener android-context

我是 java 和 android 的新手。在这里,我试图设置我的 onclicklistener,以便在单击时显示另一个 Activity ,即 ActivityB.class。问题出在 Intent i = new Intent(context, ActivityB.class); 我不确定为 context 放什么。我尝试使用 thiscontext,但两者都是错误的。

能否请您解释一下何时以及为何我应该使用 this 以及何时为 context 使用其他术语?

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 时传递上下文。

关于java - Android OnClickListener、 Intent 和上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23179795/

相关文章:

java - 无法使用设备策略管理器在 Android 7 中重置密码

javascript - 在JavaScript中使用 'prototype'和 'this'?

Java一行添加不可编辑的tJTextField

java - 优化循环中数组的选择

java - 在这种情况下 classLoader 加载类的顺序

java - 使用 Appium 选择随机 UIACollectionCell

java - Mac 上 Android Studio 的 .idea 目录在哪里?

java - 如何获取 tessbase.init 中需要使用的目录 ("directory", "eng")?

Jquery $(this) 不工作

java - 为什么 "this"用作 RelativeLayout 构造函数中的参数?