如何解决通胀的另一个R.layout [英] how to fix the inflation another 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屋!