gpt4 book ai didi

java - Android 将值传递给另一个 Activity

转载 作者:行者123 更新时间:2023-12-01 19:50:01 26 4
gpt4 key购买 nike

我有一个带有 30 个按钮的 MainActivity(ID:imageButton1imageButton2...)。在点击事件中,我将启动一个名为 KlikNaDugme 的新 Activity :

主要 Activity

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);

buttons = new ImageButton[30];

for (int i = 0; i < buttons.length; i++) {
buttons[i] = (ImageButton) findViewById(R.id.imageButton + i);
vr = i;
buttons[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {

Intent myIntent = new Intent(HomeActivity.this, KlikNaDugme.class).putExtra("vrijednost", vr);
startActivity(myIntent);
}
});
}
}

我正在尝试将 vr 传递给 KlikNaDugme Activity ,该 Activity 被声明为 public int

KlikNaDugme Activity

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_klik_na_dugme);

int x = getIntent().getExtras().getInt("vrijednost");
System.out.println(x);
}

问题是它总是得到29的值。我怎样才能正确地传递id?

最佳答案

i 的值存储在按钮的标记中:

    buttons = new ImageButton[30];

for(int i=0; i<buttons.length; i++) {
{
buttons[i] = (ImageButton) findViewById(getResources().getIdentifier("imageButton" + (i + 1), "id", this.getPackageName()));
buttons[i].setTag(i);

buttons[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

Intent myIntent = new Intent(HomeActivity.this, KlikNaDugme.class)
myIntent.putExtra("vrijednost", Integer.parseInt(view.getTag().toString()));
startActivity(myIntent);
}
});
}
}

关于java - Android 将值传递给另一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51706415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com