gpt4 book ai didi

java - 如何根据启动 Intent 来更改 Activity 内容?

转载 作者:行者123 更新时间:2023-12-02 13:22:04 25 4
gpt4 key购买 nike

我有一个名为 SI with GridView 的 Activity ,其中包含单击时可将您带到另一个 Activity 的单元。我想知道如何到达相同的 Activity ,该 Activity 将根据启动它的 Intent 来更改其 TextViews。

public class SI extends AppCompatActivity {

GridView gridView;
String[] units;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zakladnijednotky);
gridView = (GridView) findViewById(R.id.gridView1);
units = getResources().getStringArray(R.array.units);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, units);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {

if (gridView.getItemAtPosition(position).toString().contains("amper")) {
Intent mintent = new Intent(SI.this, MainActivity.class);
startActivity(mintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("kilogram")) {
Intent kilintent = new Intent(SI.this, MainActivity.class);
startActivity(kilintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("metre")) {
Intent metrintent = new Intent(SI.this, MainActivity.class);
startActivity(metrintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("second")) {
Intent mintent = new Intent(SI.this, MainActivity.class);
startActivity(mintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("kelvin")) {
Intent mintent = new Intent(SI.this, MainActivity.class);
startActivity(mintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("candela")) {
Intent mintent = new Intent(SI.this, MainActivity.class);
startActivity(mintent);
}
else if (gridView.getItemAtPosition(position).toString().contains("mol")) {
Intent mintent = new Intent(SI.this, MainActivity.class);
startActivity(mintent);
}

}
});
}
...
}

最佳答案

您可以在 Intent 中传递一些数据并在新 Activity 中读取该数据。

Intent mintent = new Intent(SI.this, MainActivity.class);
String strName = "kilogram";
i.putExtra("KEY_NAME_FOR_STRING_I_NEED", strName);
startActivity(mintent);

并阅读

Bundle extras = getIntent().getExtras();
newString= extras.getString("KEY_NAME_FOR_STRING_I_NEED");

或者,另一种方法来做到这一点

newString= getIntent().getStringExtra("KEY_NAME_FOR_STRING_I_NEED");

并根据 newString 内的值更改您的 TextView

if(newString.equals("kilogram")) {
//do something...
}

关于java - 如何根据启动 Intent 来更改 Activity 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525678/

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