Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android-如何创建动态按钮组_Java_Android_Android Layout_Button_Margin - Fatal编程技术网

Java android-如何创建动态按钮组

Java android-如何创建动态按钮组,java,android,android-layout,button,margin,Java,Android,Android Layout,Button,Margin,我有运行时按钮的名称列表。如何创建按钮 int marginTop = 0; for(String s : locations){ Button button = new Button(this); button.setText(s); //setContentView(button); //ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(Vi

我有运行时按钮的名称列表。如何创建按钮

    int marginTop = 0;

    for(String s : locations){
        Button button = new Button(this);
        button.setText(s);
        //setContentView(button);

        //ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);
        //MarginLayoutParams src = new MarginLayoutParams(MarginLayoutParams.MATCH_PARENT, MarginLayoutParams.WRAP_CONTENT);
        //LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(src);
        //params.setMargins(0, marginTop, 0, 0);
        //this.addContentView(button, params);

        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
        params.setMargins(0, marginTop, 0, 0);

        button.setLayoutParams(params);
        this.addContentView(button, params);
        marginTop += 50;
    }
我试过这个,但没有效果,按钮隐藏在一行,而不是下面

在这之后,我想动态地对按钮点击事件做出反应,并开始不同的活动

    for(String s : locations){
 Button button = new Button(this);
 button.setText(s);
 button.setId(ID);
 LinearLayout mylayout = (LinearLayout)findViewById(R.id.location_layout); mylayout.setOrientation(LinearLayout.VERTICAL);
 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.La‌​youtParams.WRAP_CONTENT);
 params.setMargins(0, marginTop, 0, 0);
 button.setLayoutParams(params);
 mylayout.addView(button);
 marginTop += 5;
 ID++; 
}

这是一个您可以使用的示例代码:

您能显示图像吗?设置所有按钮后布局应该如何?是的,您可以看到一个隐藏在另一个后面:(好的,这将引导我找到正确的方法:-)谢谢。我是指(字符串s:locations){Button Button Button=new Button(this);Button.setText(s);Button.setId(ID);LinearLayout mylayout=(LinearLayout)findViewById(R.ID.location_布局);mylayout.setOrientation(LinearLayout.VERTICAL);LinearLayout.LayoutParams params=new LinearLayout.layout参数(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(0,marginTop,0,0);button.setLayoutParams(params);mylayout.addView(button);marginTop+=5;ID++;}