如何解决通胀的另一个R.layout [英] how to fix the inflation another R.layout

查看:136
本文介绍了如何解决通胀的另一个R.layout的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

mainactivity gridimageactivity 我注意到,gridimageactivity被夸大在MainActivity布局。我想在R.main_activity添加新的按钮和事情。

这是mainactivity你注意到了我评论然而应用程序仍显示textviews和图像的布局。

 保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
     //的setContentView(R.layout.activity_main);
      //名单=(ListView控件)findViewById(R.id.list);
        列表项=新的ArrayList<&列表项GT;();
        mProgressBar =(进度)findViewById(R.id.progressBar);        GetDataJSON GJ =新GetDataJSON();
        gj.execute();
        mProgressBar.setVisibility(View.VISIBLE);

这是gridadapter我猜是什么原因造成的问题。

  LayoutInflater吹气= LayoutInflater.from(mcontext);
行= inflater.inflate(layoutResourceId,父母,假);
持有人=新ViewHolder();

我打电话gridimage这样
GridViewAdapter适配器=新GridViewAdapter(这一点,R.layout.grid_item_layout,列表项);

我的问题:我希望能够夸大我的mainactivity以添加工具栏然而,在GridView中膨胀是preventing我。如何FX呢?

 公共类GridViewAdapter扩展ArrayAdapter< GridImages> {    私人语境mContext;
    私人诠释layoutResourceId;
    私人的ArrayList< GridImages> mGridImages =新的ArrayList< GridImages>();  公共GridViewAdapter(上下文mContext,INT layoutResourceId,ArrayList的< GridImages> mGridImages){
        超(mContext,layoutResourceId,mGridImages);
        this.layoutResourceId = layoutResourceId;
        this.mContext = mContext;
        this.mGridImages = mGridImages;
    }
    / **
     *更新网格数据和刷新电网项目。
     * @参数mGridData
     * /
    公共无效setGridData(ArrayList的< GridImages> mGridImages){
        this.mGridImages = mGridImages;
    }


解决方案

至于评论,请尝试以下方法(样品添加内GridViewActivity一个按钮,使用layout_main.xml)。

 公共类GridViewActivity扩展AppCompatActivity {
    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        RelativeLayout的布局=(RelativeLayout的)findViewById(R.id.relativeLayout);
        按钮btnTag =新按钮(本);
        btnTag.setLayoutParams(新RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT));
        btnTag.setText(动态添加的按钮);
        layout.addView(btnTag);
    }
}

不过,你应该检查它是否适合你的项目或没有。

更新:

row_grid.xml:
    
        
        
    

我在你的previous问题的答案:

  customGridAdapter =新CustomGridViewAdapter(mContext,R.layout.row_grid,gridArray);

I have mainactivity and gridimageactivity I Noticed that gridimageactivity is inflating the mainactivity layout. I want to add new buttons and thing in the R.main_activity.

this is in mainactivity as you noticed I commented the layout however the app is still displaying textviews and images.

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     //   setContentView(R.layout.activity_main);
      //  list = (ListView) findViewById(R.id.list);
        Listitem = new ArrayList<Listitem>();
        mProgressBar = (ProgressBar) findViewById(R.id.progressBar);

        GetDataJSON gj = new GetDataJSON();
        gj.execute();
        mProgressBar.setVisibility(View.VISIBLE);

This is gridadapter I guess what is causing problem

LayoutInflater inflater = LayoutInflater.from(mcontext);
row = inflater.inflate(layoutResourceId, parent, false);
holder = new ViewHolder();

I am calling gridimage like this GridViewAdapter adapter = new GridViewAdapter(this, R.layout.grid_item_layout, Listitem);

My question: I want to be able to inflate my mainactivity to add toolbar however the inflating in gridview is preventing me. how to fx that ?

public class GridViewAdapter extends ArrayAdapter<GridImages> {

    private Context mContext;
    private int layoutResourceId;
    private ArrayList<GridImages> mGridImages = new ArrayList<GridImages>();



  public GridViewAdapter(Context mContext, int layoutResourceId, ArrayList<GridImages> mGridImages) {
        super(mContext, layoutResourceId, mGridImages);
        this.layoutResourceId = layoutResourceId;
        this.mContext = mContext;
        this.mGridImages = mGridImages;
    }


    /**
     * Updates grid data and refresh grid items.
     * @param mGridData
     */
    public void setGridData(ArrayList<GridImages> mGridImages) {
        this.mGridImages = mGridImages;
    }

解决方案

As commented, please try the following (sample for adding a button inside GridViewActivity which uses layout_main.xml).

public class GridViewActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativeLayout);
        Button btnTag = new Button(this);
        btnTag.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
        btnTag.setText("Dynamic Added Button");
        layout.addView(btnTag);
    }
}

However, you should check if it works for your project or not.

UPDATE:

row_grid.xml:

My answer in your previous question:

customGridAdapter = new CustomGridViewAdapter(mContext, R.layout.row_grid, gridArray);

这篇关于如何解决通胀的另一个R.layout的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆