如何在微调器下拉菜单上打开新活动单击

vfh0ocws  于 2021-07-04  发布在  Java
关注(0)|答案(1)|浏览(348)

如果有人能帮忙。我已经创建了微调器部分,但现在每当我点击下拉列表,我需要一个新的活动打开。我不知道应该把if-else/开关盒放在哪里。

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. spinner = findViewById(R.id.spinner);
  6. flags = findViewById(R.id.flag);
  7. spinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,
  8. CountryData.countryNames));
  9. spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  10. @Override
  11. public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
  12. flags.setImageResource(CountryData.countryflag[spinner.getSelectedItemPosition()]);
  13. }
  14. @Override
  15. public void onNothingSelected(AdapterView<?> adapterView) {
  16. }
  17. });
bcs8qyzn

bcs8qyzn1#

我想你可以这样做:

  1. import android.content.Intent;
  2. import android.os.Bundle;
  3. import android.util.Log;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Spinner;
  8. import androidx.appcompat.app.AppCompatActivity;
  9. import java.util.ArrayList;
  10. public class MainActivity extends AppCompatActivity
  11. {
  12. Spinner spinner;
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState)
  15. {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.activity_main);
  18. ArrayList<String> activityList = new ArrayList<>(); // list of string which will be added to Spinner
  19. activityList.add("Select Activity");
  20. activityList.add("Activity 1");
  21. activityList.add("Activity 2");
  22. spinner = findViewById(R.id.spinner);
  23. spinner.setAdapter(new ArrayAdapter<>(this,
  24. android.R.layout.simple_spinner_dropdown_item,
  25. activityList
  26. ));
  27. spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
  28. {
  29. @Override
  30. public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
  31. {
  32. Log.i("MyTag", "Item selected at position " + i);
  33. if (i==0) // check position of selected item and open activity
  34. {
  35. // do nothing
  36. }
  37. else if (i==1)
  38. {
  39. openActivity(NewActivity.class);
  40. }
  41. else
  42. {
  43. openActivity(NewActivitySecond.class);
  44. }
  45. }
  46. @Override
  47. public void onNothingSelected(AdapterView<?> adapterView)
  48. {
  49. }
  50. });
  51. }
  52. private void openActivity(Class x) //funtion which opens activity
  53. {
  54. Intent intent = new Intent(this, x);
  55. startActivity(intent);
  56. }
  57. }
展开查看全部

相关问题