0

我在第一个活动中获得了 android xml id

(例如)

setContentView(R.layout.sample);
button1=(Button)findViewById(R.id.b_one);
button2=(Button)findViewById(R.id.b_two);   

现在的问题是如何在第二个 Activity 中使用相同的按钮而不使用 findViewById().

(即)我不想在第二个 Activity 中访问 xml,而不是我必须从第一个 Activity 本身访问那些按钮 ID。

我正在尝试创建一个通用标题。

请帮我。

4

1 回答 1

0

你不能,因为来自两个不同活动的按钮不会共享同一个实例。

相反,如果您想为您的标头提供一些通用代码,您可以做的是将此代码委托给第三类的静态方法。例如 :

public class MyHeader {

    private Button button1,button2;

    public MyHeader(Activity source) {
       this.button1 = (Button)source.findViewById(R.id.b_one);
       this.button2 = (Button)source.findViewById(R.id.b_two); 
       // ...
       }

    public Button getHeaderButtonOne() { return button1; }
    // And so on...
    }

并在您的活动中,保留此类的一个实例(初始化为:

  private MyHeader header;

  // ... in onCreate() method
  header = new MyHeader(this);
于 2012-09-25T15:22:55.980 回答