将视图添加到片段内的布局

时间:2013-07-10 18:58:02

标签: android android-layout layout actionbarsherlock

是否可以在片段内添加视图布局。我的片段代码看起来像这样,但是在添加时我遇到了崩溃。

我想动态地将视图添加到片段内的线性布局。

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);


     }

}

1 个答案:

答案 0 :(得分: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”之间进行了更改。

您还应确保您的两个变量是私有的,因此只能访问此特定类。

告诉我这是否有帮助。