java中的Android动态按钮-如何定义如何处理每个按钮
我已经发现了一些用Java编写的动态按钮,而不是XML代码。它工作正常,但我不知道如何使用这些ID进行进一步的使用(当我单击它们时,将继续其他活动)。 当我用XML编写按钮时,我知道如何使用方法onClick,但在这里我迷路了 我从你那里得到这个密码 到目前为止我拥有的: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
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);
}
}