我会尝试解释我的问题。您可以看到下面的代码尝试添加一些textview和按钮,因为数组来自另一个类。
public class Breakfast extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
sv.addView(ll);
if (extras != null) {
String food[]=extras.getStringArray("food");
String foodCateg[]=extras.getStringArray("foodCateg");
int K=0;
for (int i = 0; i < food.length/3; i++) {
TextView foodDay = new TextView(this);
foodDay.setText("Day "+ (i+1));
ll.addView(foodDay);
for (int j=K;j<K+3;j++){
Button contfood= new Button(this);
contfood.setText(food[j]);
ll.addView(contfood);
}
K=K+3;
}
this.setContentView(sv);
}
}
我的问题是如何才能知道屏幕上点击了哪些按钮?因为在点击其中一个(获取之前写过的文本)的情况下,我会做某事或其他事情。
ahhhhhhhhhhhhhhhhh是的我知道怎么做ListActivity。但首先我想手工做,因为我不认为如何简化这个......
感谢您尝试使用listview和OnListItemClick方法构建的答案,但我认为这不是解决方案。
我说过,因为当我插入这一天时(我不会听到所有的代码......)但我做.setgravity .setSize .setbackgroundResource等。当天的食物我使用不同的.setgravity和更多参数。所以我认为使用listview一切都会有相同的规格......这就是我不喜欢的。
所以......知道屏幕上按了什么按钮?
答案 0 :(得分:1)
您可以使用contfood.setId(i)
并从那里开始工作。
但是你在做什么看起来真的想要创建一个ListActivity
并使用它OnItemClickListener
。
答案 1 :(得分:0)
你应该做的是为每个按钮“contfood”添加一个id。然后,当您单击某个按钮时,将返回ID以执行您想要的操作。
另一种方法是创建按钮并附加方法public void onClick(View view):
for (int j=K;j<K+3;j++){
Button contfood= new Button(this);
contfood.setText(food[j]);
ll.addView(contfood);
public void onClick(View view) {
Intent myIntent = new Intent(view.getContext(), xxx.class);
startActivityForResult(myIntent, 0);
}
}
并在方法中添加参数。