Android主活动对象访问

Android主活动对象访问,android,Android,我是Android新手,遇到了一个问题。我想将OnClickListener从MainActivity类中分离出来,但除了使用static之外,我不知道如何访问MainActivity类中的对象。我很乐意找到解决办法 public class MainActivity extends ActionBarActivity { public Button btn; public TextView tv; public MyListener listener; public MainActivit

我是Android新手,遇到了一个问题。我想将OnClickListener从MainActivity类中分离出来,但除了使用static之外,我不知道如何访问MainActivity类中的对象。我很乐意找到解决办法

public class MainActivity extends ActionBarActivity {

public Button btn;
public TextView tv;
public MyListener listener;

public MainActivity() {
    this.listener = new MyListener();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    this.btn = (Button) findViewById(R.id.btn1);    
    this.tv = (TextView) findViewById(R.id.textView1);
    this.btn.setOnClickListener(listener);




}
}


public class MyListener implements OnClickListener {

MainActivity activity;
@Override
public void onClick(View v) {
    activity.tv.setText("Hi");

}
}
不起作用。
我非常感谢您的帮助。

我不明白您为什么希望他们那样分开

如果您不想死记硬背活动的
onCreate
方法,只需在类中实现侦听器,如下所示:

public class MainActivity extends ActionBarActivity implements OnClickListener {
    ...
}
然后用
这个
引用侦听器:

this.btn.setOnClickListener(this);

我不明白你为什么要他们那样分开

如果您不想死记硬背活动的
onCreate
方法,只需在类中实现侦听器,如下所示:

public class MainActivity extends ActionBarActivity implements OnClickListener {
    ...
}
然后用
这个
引用侦听器:

this.btn.setOnClickListener(this);

我不明白你为什么要他们那样分开

如果您不想死记硬背活动的
onCreate
方法,只需在类中实现侦听器,如下所示:

public class MainActivity extends ActionBarActivity implements OnClickListener {
    ...
}
然后用
这个
引用侦听器:

this.btn.setOnClickListener(this);

我不明白你为什么要他们那样分开

如果您不想死记硬背活动的
onCreate
方法,只需在类中实现侦听器,如下所示:

public class MainActivity extends ActionBarActivity implements OnClickListener {
    ...
}
然后用
这个
引用侦听器:

this.btn.setOnClickListener(this);
  • MainActivity是一个活动类。您不应该为相同的对象使用构造函数。您不应该实例化活动类。只能在清单文件中声明活动

  • 您可以使用
    this.listener=new MyListener()
    onCreate
    自身中

  • 使
    MyListener
    成为
    MainActivity

  • MainActivity是一个活动类。您不应该为相同的对象使用构造函数。您不应该实例化活动类。只能在清单文件中声明活动

  • 您可以使用
    this.listener=new MyListener()
    onCreate
    自身中

  • 使
    MyListener
    成为
    MainActivity

  • MainActivity是一个活动类。您不应该为相同的对象使用构造函数。您不应该实例化活动类。只能在清单文件中声明活动

  • 您可以使用
    this.listener=new MyListener()
    onCreate
    自身中

  • 使
    MyListener
    成为
    MainActivity

  • MainActivity是一个活动类。您不应该为相同的对象使用构造函数。您不应该实例化活动类。只能在清单文件中声明活动

  • 您可以使用
    this.listener=new MyListener()
    onCreate
    自身中

  • 使
    MyListener
    成为
    MainActivity


  • 我认为java不允许在一个文件中包含两个公共类为什么你希望它是分开的?我认为java不允许在一个文件中包含两个公共类为什么你希望它是分开的?我认为java不允许在一个文件中包含两个公共类为什么你希望它是分开的?我认为java不允许在一个文件中包含两个公共类文件为什么要分开?谢谢!非常有帮助,谢谢!非常有帮助,谢谢!非常有帮助,谢谢!非常有用。