0

フラグメントがアクティビティとどのように相互作用するかを理解するのに少し問題があります。

フラグメントを追加するメインアクティビティがあります。呼び出されるフラグメントクラスは次のとおりです。

public class Timer_fragment extends android.support.v4.app.Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.timer_frag, container, false);
    }
}

膨らませているレイアウトの内部にはtextViewがありますが、フラグメントクラスの内部では「アクセス」できません。

TextView text = (TextView) findViewById(R.id.pwd_status);returnステートメントの下に追加できないのはなぜですか?

これは私には理にかなっています。なぜなら、たくさんの場所にタイマーを追加して、プログラムで1つを変更したい場合、それはどこでも変更されるからです。これが理にかなっていることを願っています。

ありがとう

答え:

onCreateViewを同じままにして、onActivityCreatedを追加しました。その後、私はいつものようにすべてを行うことができます。

4

1 に答える 1

1

あなたはこれを行うことができます:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.timer_frag, container, false);

    TextView text = (TextView) v.findViewById(R.id.pwd_status);
    /* set the TextView's text, click listeners, etc. */

    return v;
}

これは、レイアウトTextViewにwithidがあると仮定して機能します。pwd_statustimer_frag

于 2012-07-30T04:03:09.267 に答える