1

XMLにもボタンを追加したフラグメントがあります。このボタンで新しい種類のメニューを起動したいので、クリックしたときにポイントするリスト アクティビティ Java クラスにしました。ボタンと onclick メソッドをどこに追加すればよいですか? ページフラグメントクラスで?これを実行しようとすると、もちろんボタンを定義するために使用しているメソッド「findviewbyid」を解決できません。また、setContentView に対しても同じエラーがスローされます。このコードを frag の Activity クラスに入れてみましたが、これを行うとアプリの読み込みに失敗します。ボタンを機能させるために追加しようとしているコードは次のとおりです。

    Button chOptions =  (Button) findViewById(R.id.bOptions);
    chOptions.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            setContentView(R.layout.channel_menu);
        }
    });

channel_menu は、私が作成した List アクティビティです。これが私のマニフェスト宣言です:

      <activity android:name=".ChannelMenu"
              android:label="Channel Options"
              android:theme="@android:style/Theme.Holo">
        <intent-filter>
            <action android:name="android.intent.action.CHANNELMENU" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

ありがとう!

4

2 に答える 2

0

のサポート ビューにいくつかのウィジェットを挿入する場合はFragment、作成したビューへのグローバル参照が にある必要がありますonCreateView

View root;

       @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            root = inflater.inflate(R.layout.flash_cards_box, container, false);

            context = getActivity().getApplicationContext();

    }

次に、ウィジェットを別の場所に挿入します。

root.findViewById(...);

にアクセスする場合は、クラスsetContentViewを介してアクセスできます。Activity

getActivity().setContentView(....)
于 2013-08-17T04:43:18.970 に答える