我正在尝试将一个LinearLayout
包含一些元素的代表小面板添加到AbsoluteLayout
我的Activity
. 我正在使用此代码,但应用程序崩溃,这是面板类的构造函数,应该将视图添加到主布局。类似的代码可用于添加运行时创建的按钮,但不适用于此。
public ButtonSetupPanel(String btnName, int keyCode, View v){
AbsoluteLayout abs = (AbsoluteLayout) v.findViewById(R.id.mainbg);
LinearLayout panel = (LinearLayout) v.findViewById(R.id.btnSetupPanel);
panel.setLayoutParams(new AbsoluteLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT, 1023, 300));
panel.setOnTouchListener(this);
abs.addView(panel);
}
LogCat:(我正在使用 StandOut 库)
. 还有 10 个
更新:我发现问题在于,由于这LinearLayout
是在另一个 XML 文件中,我需要扩展另一个布局文件并显示定义的视图(LinearLayout)。如何进行?
Update2:我使用此代码获取所需视图
public ButtonSetupPanel(String btnName, int keyCode, View v){
AbsoluteLayout abs = (AbsoluteLayout) v.findViewById(R.id.mainbg);
LinearLayout view = (LinearLayout) LayoutInflater.from(v.getContext()).inflate(R.layout.btnsetup , null);
LinearLayout panel = (LinearLayout) view.findViewById(R.id.btnSetupPanel);
view.removeView(panel);
panel.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
panel.setX(512f);
panel.setY(300f);
panel.setOnTouchListener(this);
abs.addView(panel);
}