NullPointerException при печати StringArray [] в сообщении Toast в android - PullRequest
0 голосов
/ 04 марта 2020

Я работаю с несколькими множественными StringArrary, где я могу напечатать сообщение Toast внутри соответствующего StringArray, но, к сожалению, у меня возникла проблема с отображением toast вне блока. Я делюсь своим кодом ниже

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

    if (parent.getId() == R.id.region) {
        positions = spinner_region.getSelectedItemPosition();
        region_code = this.getResources().getStringArray(R.array.region_code);
        //Toast.makeText(this, region_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.district) {
        positions = spinner_district.getSelectedItemPosition();
        district_code = this.getResources().getStringArray(R.array.district_code);
        //Toast.makeText(this, district_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.upz) {
        positions = spinner_upz.getSelectedItemPosition();
        upz_code = this.getResources().getStringArray(R.array.upz_code);
        //Toast.makeText(this, upz_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.union) {
        positions = spinner_union.getSelectedItemPosition();
        union_code = this.getResources().getStringArray(R.array.upz_code);
        //Toast.makeText(this, union_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.village) {
        positions = spinner_village.getSelectedItemPosition();
        vill_code = this.getResources().getStringArray(R.array.village_code);
        //Toast.makeText(this, vill_code[positions], Toast.LENGTH_LONG).show();
    }
    // Showing toast message here gives the error
    //but in individual codeblock this show perfectly
    Toast.makeText(this, union_code[positions]+upz_code[positions], Toast.LENGTH_SHORT).show();
}

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

Моя переменная похожа на

String[] upz_code;
String[] union_code;

Мои массивы похожи на

private String[] Union = {"A", "B",};
private String[] Union = {"C", "D",};

Ошибка, которую я получаю:

java.lang.NullPointerException: Attempt to read from null array

Эта ошибка привела к тому, что приложение взломало sh и не поняло fl aws. Как я могу преодолеть это или что я сделал не так?

Ответы [ 3 ]

0 голосов
/ 04 марта 2020

Вы можете использовать if (union_code!=null), если хотите показывать тост только в нулевом регистре. Или, если вы хотите показать тост в каждом случае, вы можете использовать это: -

Toast.makeText(this, 
    "" + union_code[positions].toString() + upz_code[position].toString(),
    Toast.LENGTH_SHORT).show(); 

Я думаю, это должно работать.

0 голосов
/ 04 марта 2020

Проверьте union_code и upz_code для null, прежде чем пытаться получить доступ к элементу из них.

Сделайте это следующим образом:

if(union_code!=null && upz_code!=null){ 
    Toast.makeText(this, union_code[positions]+upz_code[positions], Toast.LENGTH_SHORT).show();
}
0 голосов
/ 04 марта 2020

Попробуйте,

if(union_code!=null){
    Toast.makeText(this,union_code[positions].toString() +upz_code[position].toString(),Toast.LENGTH_SHORT).show();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...