从非活动java类中管理主要活动元素

时间:2017-02-12 12:08:58

标签: java android findviewbyid

我想从另一个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");

}

我试过这样但它没有用。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

有两种方法可以从不同的类

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

答案 1 :(得分:0)

除非它实际上是一项活动而不仅仅是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");

 }
}