java 动态按钮_java-向片段动态添加按钮
我一直在嘗試向片段動態添加按鈕,但是我嘗試過的所有方法都不起作用.
這些是我嘗試過的一些方法:
1.
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
LinearLayout linearlayout = new LinearLayout(getActivity());
LinearLayout.LayoutParams buttonParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
linearlayout.setLayoutParams(buttonParams);
linearlayout.setOrientation(LinearLayout.HORIZONTAL);
Button button = new Button(getActivity());
button.setLayoutParams(buttonParams);
button.setText("????????????????????");
button.setTextSize(16);
Button button2 = new Button(getActivity());
button2.setLayoutParams(buttonParams);
button2.setText("!!!!!!!!!!!!!!!!!!");
button2.setTextSize(64);
linearlayout.addView(button);
linearlayout.addView(button2);
container.addView(linearlayout);
View myView = inflater.inflate(R.layout.fragment_general_layout, container, false);
return myView;
}
這將為我提供以下屏幕截圖First method.
我真的不喜歡這樣,因為這會在Activity本身上創建一個按鈕,該按鈕會出現在使用相同Activity的其他片段上.
>第二種方法
公共視圖onCreateView(LayoutInflater充氣器,@ Nullable ViewGroup容器,捆綁保存的InstanceState){
View myView = inflater.inflate(R.layout.fragment_general_layout, container, false);
for (int i = 0; i < ArrayOfNames.length; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
Button btn = new Button(myView.getContext());
btn.setId(i);
final int id_ = btn.getId();
btn.setText(ArrayOfNames[i]);
btn.setBackgroundColor(Color.CYAN);
btn.setLayoutParams(params);
linearlayout.addView(btn, params);
btn = myView.findViewById(id_);
btn.setVisibility(View.VISIBLE);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do smth
}
});
return myView;
}
我假設此方法將使按鈕(因為代碼運行良好,并且至少在設置OnClickListner()時按鈕沒有空指針引用.但是我無法在屏幕上看到實際的按鈕.而且,無法單擊它.
任何幫助將不勝感激.
總結
以上是生活随笔為你收集整理的java 动态按钮_java-向片段动态添加按钮的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何修改阿里巴巴矢量图标库中要使用的图片
- 下一篇: 含泪推荐5款极为实用的软件