Java 单击listener可查看我动态创建的Android Studio的多个按钮
好的,我正在制作一个android应用程序,我有一个目标列表,让我们说一下,让它更容易解释。目标由字符串组成。这些数据将来自数据库,因此在将来,列表的长度可能会稍长或稍短。每个目标都放置在按钮的文本中 我已经做了这个循环来在运行时创建按钮,因为列表的长度根据之前发生的事情而变化,这一切都很完美,我可以创建按钮,并将它们放置在我想要的地方,等等。这是我用来做这件事的代码Java 单击listener可查看我动态创建的Android Studio的多个按钮,java,android,events,button,click,Java,Android,Events,Button,Click,好的,我正在制作一个android应用程序,我有一个目标列表,让我们说一下,让它更容易解释。目标由字符串组成。这些数据将来自数据库,因此在将来,列表的长度可能会稍长或稍短。每个目标都放置在按钮的文本中 我已经做了这个循环来在运行时创建按钮,因为列表的长度根据之前发生的事情而变化,这一切都很完美,我可以创建按钮,并将它们放置在我想要的地方,等等。这是我用来做这件事的代码 for (int i = 0; i < goals.size(); i++){ buttons[i
for (int i = 0; i < goals.size(); i++){
buttons[i] = new Button(this.getContext());
buttons[i].setLayoutParams(params);
buttons[i].setPadding(0,150,0,150);
buttons[i].setGravity(Gravity.CENTER);
buttons[i].setText(goals.get(i));
buttons[i].setBackgroundResource(R.drawable.btn_back);
buttons[i].setTextSize(30);
buttons[i].setTransformationMethod(null);
linear.addView(buttons[i]);
}
for(int i=0;i
现在我的问题是我想点击每个按钮做一件稍微不同的事情-取决于目标,即按钮的文本。我真的很难设置点击事件,以便不同的按钮可以做不同的事情,即使我已经动态创建了所有按钮
我可以提供更多关于我在android studio中的设置细节,但我觉得我已经对我的问题给出了足够的见解
非常感谢您的帮助。我的猜测是,如果您已经知道每个按钮的功能应该是什么,那么您是否可以只获取按钮的文本,然后在switch(或其他)中使用它来获得特定的功能,例如:
buttons[i].setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
//Put whatever is common between buttons outside of the switch
switch(((Button)view).getText().toString()){
//And then just assign a case for whatever functionality you need specifically for each goal
}
}
});
我最好的猜测是,如果您已经知道每个按钮的功能应该是什么,根据文本,您是否可以只获取按钮的文本,然后在开关(或其他)中使用它来获得特定的功能,例如:
buttons[i].setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
//Put whatever is common between buttons outside of the switch
switch(((Button)view).getText().toString()){
//And then just assign a case for whatever functionality you need specifically for each goal
}
}
});
为什么不使用ListVIEW或ReaveReVIEW?我在上面的评论中,你可以考虑使用一些优化并保存所有按钮列表的方法,并且你可以创建一个“点击”侦听器,通过适配器,指定每个项目的行为。为什么不使用ListVIEW或DeviReVIEW?您可以考虑使用优化并保存所有按钮列表的东西,并且可以创建一个“单击”侦听器,通过适配器,指定每个项目的行为。