0

I'm getting the android xml id in first Activity

(e.g)

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

Now the problem is how can i use the same button in second Activity without using findViewById().

(i.e) I don't want to access xml in second Activity rather than that i have to access those button ID from the first Activity itself.

I'm trying this to create a common header.

Please help me.

4

1 に答える 1

0

2 つの異なるアクティビティのボタンは同じインスタンスを共有しないため、できません。

代わりにできることは、ヘッダーに共通のコードが必要な場合は、このコードを 3 番目のクラスの静的メソッドに委任することです。例えば ​​:

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 に答える