动态按钮Android
问题描述:
我已经显示了一个动态创建的10键布局,现在我需要检索按钮的ID以释放必要的过程。这里的代码。动态按钮Android
Button Btn;
Toast msg;
RelativeLayout rl;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
Btn = (Button) findViewById(R.id.Btntu);
for (int i = 0; i < 10; i++) {
Btn = new Button(this);
Btn.setText("Número: " + i);
Btn.setGravity(Gravity.CENTER);
Btn.setId(i);
rl = new RelativeLayout(this);
RelativeLayout.LayoutParams parametros = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
Btn.setLayoutParams(parametros);
rl.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT)
);
rl.addView(Btn);
ll.addView(rl);
}
我需要的功能来检索按钮的ID。 谢谢大家。 :o)
答
你试过getId()
?
http://developer.android.com/reference/android/view/View.html#getId%28%29
for (int i = 0; i < 10; i++) {
Btn = new Button(this);
Btn.setText("Número: " + i);
Btn.setGravity(Gravity.CENTER);
Btn.setId(i);
Btn.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
Log.d("Button", "ID clicked: " + Btn.getId());
// Or even
Log.d("View", "ID clicked: " + v.getId());
}
});
(...)
}