Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.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_Xml_Button_Dynamic - Fatal编程技术网

java中的Android动态按钮-如何定义如何处理每个按钮

java中的Android动态按钮-如何定义如何处理每个按钮,java,android,xml,button,dynamic,Java,Android,Xml,Button,Dynamic,我已经发现了一些用Java编写的动态按钮,而不是XML代码。它工作正常,但我不知道如何使用这些ID进行进一步的使用(当我单击它们时,将继续其他活动)。 当我用XML编写按钮时,我知道如何使用方法onClick,但在这里我迷路了 我从你那里得到这个密码 到目前为止我拥有的: public class MainActivity extends Activity { Button b; TextView t; ScrollView scrollview; @Override public void

我已经发现了一些用Java编写的动态按钮,而不是XML代码。它工作正常,但我不知道如何使用这些ID进行进一步的使用(当我单击它们时,将继续其他活动)。 当我用XML编写按钮时,我知道如何使用方法onClick,但在这里我迷路了

我从你那里得到这个密码

到目前为止我拥有的:

public class MainActivity extends Activity {
Button b;
TextView t;
ScrollView scrollview;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    scrollview = new ScrollView(this);
    LinearLayout linearlayout = new LinearLayout(this);
    linearlayout.setOrientation(LinearLayout.VERTICAL);

    scrollview.addView(linearlayout);
    int num=15;

    if(num!=0){
    for(int i = 0; i<num;i++) {
        LinearLayout linear1 = new LinearLayout(this);
        linear1.setOrientation(LinearLayout.HORIZONTAL);
        linearlayout.addView(linear1);


        b = new Button(this);
        b.setText("Button" + i);
        b.setId(i);
        b.setTextSize(10);
        b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        linear1.addView(b);
        }
    }
    else {
        LinearLayout linear1 = new LinearLayout(this);
        linear1.setOrientation(LinearLayout.HORIZONTAL);
        linearlayout.addView(linear1);

        t = new TextView(this);
        t.setText("No Buttons");
        t.setTextSize(10);
        linear1.addView(t);
    }

    this.setContentView(scrollview);
 }
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/horizontalScrollView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/buttonList">


    </LinearLayout>
</HorizontalScrollView>
公共类MainActivity扩展活动{
按钮b;
文本视图t;
滚动视图滚动视图;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
scrollview=新的scrollview(此);
LinearLayout LinearLayout=新的LinearLayout(本);
linearlayout.setOrientation(linearlayout.VERTICAL);
scrollview.addView(线性布局);
int num=15;
如果(num!=0){

对于(inti=0;i只需像这样使用

b、 setOnClickListener(..)


for(int i=0;i尝试此链接,希望您能从中获得想法谢谢您的帮助,现在可以使用了!非常感谢您为我解决了此问题!我以前尝试过此功能,但不知怎的,我没有成功使其工作,现在可以使用了。
for(int i = 0; i<num;i++) {
        LinearLayout linear1 = new LinearLayout(this);
        linear1.setOrientation(LinearLayout.HORIZONTAL);
        linearlayout.addView(linear1);


        b = new Button(this);
        b.setText("Button" + i);
        b.setId(i);
        b.setTextSize(10);
        b.setOnClickListener(new OnClickListener() {
            void onClick(View v) {
                Log.i("TAG", "The index is" + index);
            }
        });
        b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        linear1.addView(b);
        }
    }