0

setContentView(R.layout.activityA) メソッドを使用してレイアウトを設定する A アクティビティがあります。activityA レイアウトは customView で構成されます。私の customView には、セッターとゲッターがたくさんあります。A アクティビティからアクセスするにはどうすればよいですか? アクティビティ A で customView のインスタンスを作成すると機能しますが、customView は 2 回作成されます。これらのメソッドにアクセスする別の方法はありますか? お知らせ下さい。ありがとう。

4

3 に答える 3

5

アクティビティのコードで次のようなことを試しましたか?

@Override
public void onCreate(Bundle state){
    super.onCreate(state);
    setContentView(R.layout.activityA);
    CustomView customView = (CustomView)findViewById(R.id.customviewId);

    Something x = customView.someGetterMethodX();
    ...etc...

}
于 2012-09-04T19:46:04.607 に答える
1

Java Reflectionを使用して、属性を読み取り、メソッドを呼び出すことができます。

于 2012-09-04T19:48:45.467 に答える
1

2 回作成する必要はありません。カスタム ビュー ID を見つけて、それを CustomView 参照に割り当てるだけです。このようなもの:

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

 CustomView customView = (CustomView) findViewById(R.id.customViewId);

customView.setSomething(someValue);

}
于 2012-09-04T19:58:36.513 に答える