gpt4 book ai didi

java - 在另一个类 TextView 中显示 Spinner 所选项目

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

所以我有一个微调器,我不希望用户从中选择一个项目,然后在另一个 Activity 中显示他的选择..但按钮甚至不会做任何事情..我猜错误是在intent.putExtra中int position == 0..有人可以帮我吗?

cilj = (Spinner) findViewById(R.id.spinnerPrehranaCilj);
prikaziRezultat = (Button) findViewById(R.id.buttonPrehranaPrikaziRezultate);


ArrayAdapter<CharSequence> ciljPrehranaSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.spinner_cilj_prehrana, android.R.layout.simple_spinner_item);
ciljPrehranaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cilj.setAdapter(ciljPrehranaSpinnerAdapter);

prikaziRezultat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

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

if (position == 0){
Intent intent = new Intent(getApplicationContext(), AppLayoutMain.class);
intent.putExtra("ciljJePovecanjeTezine", cilj.getItemIdAtPosition(0));
startActivity(intent);
} else if (position == 1){
Toast.makeText(PrehranaInputMain.this, "drugo bi trebalo bit odabrano", Toast.LENGTH_SHORT).show();
}

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});

}
});

这是第二个 Activity

 String prehrana = intent.getStringExtra("ciljJePovecanjeTezine");

ciljPrehranaRezultat = (TextView) findViewById(R.id.textViewPrehranaCiljRezultat);
ciljPrehranaRezultat.setText(prehrana);

谢谢!!

这是第一个 Activity 的修改后的代码:

 cilj = (Spinner) findViewById(R.id.spinnerPrehranaCilj);
prikaziRezultat = (Button) findViewById(R.id.buttonPrehranaPrikaziRezultate);


ArrayAdapter<CharSequence> ciljPrehranaSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.spinner_cilj_prehrana, android.R.layout.simple_spinner_item);
ciljPrehranaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cilj.setAdapter(ciljPrehranaSpinnerAdapter);


cilj.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 0){
Toast.makeText(PrehranaInputMain.this, R.string.cilj_prehrana_nista_odabrano, Toast.LENGTH_SHORT).show();
} else if (position == 1){
Intent intent = new Intent(getApplicationContext(), AppLayoutMain.class);
intent.putExtra("ciljJePovecanjeTezine", cilj.getSelectedItem().toString());
startActivity(intent);
} else if (position == 2){
Intent intent = new Intent(getApplicationContext(), AppLayoutMain.class);
intent.putExtra("ciljJeMrsavljenje", cilj.getSelectedItem().toString());
startActivity(intent);
}
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});
prikaziRezultat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});

第二个 Activity

      String prehrana = intent.getStringExtra("ciljJePovecanjeTezine");
String prehrana2 = intent.getStringExtra("ciljJeMrsavljenje");

ciljPrehranaRezultat = (TextView) findViewById(R.id.textViewPrehranaCiljRezultat);
ciljPrehranaRezultat.setText(prehrana);

// SEEMS LIKE SOME IF STATEMENT NEEDED HERE?
//ciljPrehranaRezultat.setText(prehrana2);

最佳答案

在用户单击按钮之前,不会设置下拉列表的监听器,这意味着在您至少单击该按钮一次之前,从下拉列表中选择项目不会执行任何操作。

您是否尝试过在单击按钮后从微调器中选择一个项目?

如果您想在用户单击按钮时转到另一个 Activity ,请仅保留 onClick() 方法中的 startActivity(intent) 并将 onItemSelected() 方法向上移动一个级别,将 Intent 作为全局变量移动.

cilj = (Spinner) findViewById(R.id.spinnerPrehranaCilj);
prikaziRezultat = (Button) findViewById(R.id.buttonPrehranaPrikaziRezultate);
Intent intent = new Intent(getApplicationContext(), AppLayoutMain.class);

ArrayAdapter<CharSequence> ciljPrehranaSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.spinner_cilj_prehrana, android.R.layout.simple_spinner_item);
ciljPrehranaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cilj.setAdapter(ciljPrehranaSpinnerAdapter);

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

if (position == 0){
intent.putExtra("ciljJePovecanjeTezine", cilj.getItemIdAtPosition(0));
} else if (position == 1){
Toast.makeText(PrehranaInputMain.this, "drugo bi trebalo bit odabrano", Toast.LENGTH_SHORT).show();
}

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});

prikaziRezultat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(intent);
}
});

而且,即使在这种情况下,在我看来,只有当用户选择位置“0”的项目时,您才会跳转到 Activity 。我们可以假设这不是一个空白区域,并且您的微调器中只有 2 个条目吗?

关于java - 在另一个类 TextView 中显示 Spinner 所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681439/

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