Почему я не могу перейти к выбранному новому занятию, когда выбираю из своего счетчика? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь выбрать страну из счетчика, а затем перейти к соответствующей деятельности. Например: если я выберу «UK» моего блесна в Main3Activity, перейдем к новому действию MainActivity.

Но я не знаю, почему он не мог прыгать. Он может просто выбрать, а затем приложение заканчивается.

Что-нибудь, что мне нужно изменить в мейнфестах?

Спасибо:)

<activity android:name=".Main2Activity">
    <intent-filter>
         <action android:name="android.intent.action.MAIN" />

         <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity android:name=".Main3Activity" />
<activity android:name=".MainActivity" />
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="currency_array">
        <item>Australia</item>
        <item>Bitcorn</item>
        <item>Brazil</item>
        <item>China</item>
        <item>Egypt</item>
        <item>Europe</item>
        <item>Japan</item>
        <item>UK</item>
        <item>USA</item>
    </string-array>
</resources>
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);

    Spinner currency = (Spinner) findViewById(R.id.currency);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.currency_array, android.R.layout.simple_spinner_item);
    //specify which array to use for spinner

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    //load array to spinner

    currency.setAdapter(adapter);

    //respond to the user


}//end method


@Override
public void onItemSelected (AdapterView < ? > adapterView, View view,int index, long l){

    String selected = adapterView.getItemAtPosition(index).toString();
    Toast.makeText(adapterView.getContext(), selected, Toast.LENGTH_SHORT).show();


    if(adapterView.getContext().equals("UK")){
        Intent intent = new Intent(Main3Activity.this, MainActivity.class);
        startActivity(intent);
    }


    /*if(index == 0){
        Intent intent = new Intent(Main3Activity.this, MainActivity.class);
        startActivity(intent);
    }
    */


}//end onItemSelected


public void onNothingSelected (AdapterView < ? > adapterView) {
} //end onNothingSelected

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Заменить adapterView.getContext() на selected.Вы хотите проверить, что текст элемента равен UK, а не Context, который нигде не связан.

0 голосов
/ 04 мая 2019

Попробуйте это:

spinner.setOnItemSelectedListener(this);

Или:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String selectedItem = parent.getItemAtPosition(position).toString();
        switch(selectedItem) {
            case "UK":
                Intent intent = new Intent(Main3Activity.this, MainActivity.class);
                startActivity(intent);
                break;
            case "USA":
                // do something
                break;
        }
    }
    public void onNothingSelected(AdapterView<?> parent) {

    }           
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...