1

フラグメント内のレイアウトにビューを追加することは可能ですか? 私のフラグメントコードは次のようになりますが、追加中にクラッシュします。

フラグメント内の線形レイアウトにビューを動的に追加したい。

package com.emergreen.goresq;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

import com.actionbarsherlock.app.SherlockFragment;

public class GRPlacesFragment extends SherlockFragment{

    GRMyPlaces grmp;
    View myview;

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

            myview = view;
            return view;
        }


     public void addPlaces(context gr)
     {
         grmp = gr;

         LinearLayout ll = (LinearLayout) myview.findViewById(R.id.pid);

         Button button = new Button(grmp);
         button.setText("Testing button");



         ll.addView(button);


     }

}
4

1 に答える 1

1

プロジェクトにフラグメントを使用したときにうまくいくと思われる次のことを試してください。

public class GRPlacesFragment extends SherlockFragment {

...
private View myView;

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

        return myView;
    }


 ...

}

「view」と「myview」の使用を切り替えるため、変数の割り当てに何か問題があるようです。

さらに、2 つの変数がプライベートであることを確認して、この特定のクラスにのみアクセスできるようにする必要があります。

これが役立つかどうか教えてください。

于 2013-07-10T21:37:03.870 に答える