0

私は3つの断片を持っています。それらの 1 つを別のフラグメントに動的に置き換えることができます。この「動的」フラグメントのボタンを無効にするにはどうすればよいですか。他のフラグメント機能のボタンを無効にします。アプリをコンパイルすると、java.lang.NullPointerException が発生します。

//主な活動

public class MainActivity extends Activity{

public static Button Button_1;
public static Button Button_2;

Block fragment;

...

public void onCreate(Bundle savedInstanceState) 
{
...
Button_1=(Button)findViewById(R.id.button1);
    Button_2=(Button)findViewById(R.id.button2);
...
fragment = (Block) getFragmentManager().findFragmentById(R.id.block_frag);
...
}

... }

public void onRadioButtonClicked(View view) {

switch(view.getId()) {
    ...
    case R.id.radioButton4:
    {

    Button_1.setEnabled(false);
    Button_2.setEnabled(false);
            fragment.Button_3.setEnabled(false);
            fragment.Button_4.setEnabled(false);

    break;
        }
        case R.id.radioButton5:
        {
    ...

}

//block_frag:

public class Block extends Fragment{

public Button Button_3; public Button Button_4; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Button_3=(Button)getView().findViewById(R.id.button3); Button_4=(Button)getView().findViewById(R.id.button4);

... }

4

1 に答える 1

1
    @Override 
    public void onActivityCreated (Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);
    Button_3=(Button)getActivity().findViewById(R.id.button3);
    }

はい、フラグメント内にある必要があります

于 2012-12-19T11:54:00.187 に答える