gpt4 book ai didi

java - 在 Activity 之间传递微调器选择

转载 作者:行者123 更新时间:2023-11-30 10:25:22 25 4
gpt4 key购买 nike

我在每个 Activity 中都有 4 个带有微调器的 Activity ,这个微调器包括 3 个字符串数据(下拉选择),当我从 Activity 传递到另一个 Activity 时,我必须将这个选定的数据传递到微调器中,就像我从微调器的列表中选择数据 x 并单击按钮一样,所选数据必须在第二个 Activity 中微调器也作为 x。我看了几个解决方案都没有解决。我希望在这里解决它,这是我的微调器代码以及放置 Intent 代码的位置

public class Page1 extends AppCompatActivity {
Spinner spinner;
ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page1);

spinner = (Spinner)findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this,R.array.film_type,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

Toast.makeText(getBaseContext(), parent.getItemAtPosition(position) + " selected", Toast.LENGTH_LONG).show();

switch (position)
{case 0:
btn[0] = (FloatingTextButton) findViewById(R.id.btn);
btn[0].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
double thick = Double.valueOf(editText1.getText().toString());
double width = Double.valueOf(editText2.getText().toString());
}
});
break;
case 1:
btn[0] = (FloatingTextButton) findViewById(R.id.btn);
btn[0].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {

} catch (NumberFormatException e) {
//not a double
}
}
});
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});

最佳答案

首先将微调器中选择的数据的位置保存在一个字符串变量中,

int positionOfSelectedDataFromSpinner;

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
positionOfSelectedDataFromSpinner= position;
}

然后在 button 上点击 send intent to Another activity with putExtra

Intent i = new Intent (this, activity2.class);

i.putExtra("position", positionOfSelectedDataFromSpinner);
startActivity(i);

在另一个 Activity 中从 getIntent 获取 int

Intent intent = getIntent();
int positionToShowToSpinner = intent.getStringExtra("position");

然后将位置设置为spinner

spinner.setSelection(positionToShowToSpinner);

我认为这可以解决您的问题。

关于java - 在 Activity 之间传递微调器选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46266648/

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