0

インスタンスがFragmentあり、フラグメントが読み込まれて画面に表示された後に、クリック リスナーやその他の属性を実装できるようにしたいと考えています。どうすればこれを達成できますか?この実装はどこで行う必要がありますか?

4

1 に答える 1

2

次のことを試してください。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.rap_prog_fields, container, false);
    TextView tv = (TextView) v.findViewById(R.id.text_view_1);
    Button b = (Button) v.findViewById(R.id.button);
    b.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             //do stuff
         }
     });
    //the rest of your views... in the same manner

    return v;
}

onCreateView次のようなものから戻った後に、ビューを見つけることもできます。

public void onStart() {
     super.onStart();
     Button b = (Button) getView().findViewById(R.id.button);
     b.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             //do stuff
         }
     });
     //Everything else...
 }

ビューが表示され、画面上でアクションを完了するには、以下を実装する必要があります。

final ViewTreeObserver observer= button.getViewTreeObserver(); //you need an anchor view here that will be drawn via xml
       observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                //do stuff here.....
    }
});
于 2013-07-30T14:24:15.083 に答える