繁体   English   中英

从非活动Java类操纵主要活动元素

[英]Manupulate main activity elements from non-activity java class

我想从另一个Java类处理主要的活动元素,例如TextView或Radiobutton。 还可以获得有关文本的信息,例如getText()函数。 我怎样才能做到这一点 ?

public class main_activity extends AppCompatActivity {

Button query;

BusTimer bus_timer = new BusTimer();

 protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        setContentView(R.layout.main_activity);

query=(Button) findViewById(R.id.b_sorgu);


query.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                bus_timer.onCreate(savedInstanceState);

            }


        });

}

public class BusTimer extends Activity{

TextView cMeter;

protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);


cMeter = (TextView) findViewById(R.id.cMetre);

cMeter.setText("Hi");

}

我试图这样,但没有成功。 有什么帮助吗?

有两种访问不同类的元素和函数的方法

  1. 使用静态元素
  2. 使用构造函数

您不应该扩展Activity,除非它确实是一个活动,而不仅仅是POJO。 您需要做的是将活动作为参数传递给另一个类,并将其用于findViewById:

BusTimer bus_timer = new BusTimer(this);



public class BusTimer {


  TextView cMeter;

  public BusTimer(Activity activity){

  cMeter = (TextView) activity.findViewById(R.id.cMetre);

  cMeter.setText("Hi");

 }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM