cómo hacer spinner depende de otro spinner

Estoy creando una aplicación simple para Android que consiste en hilanderos y editar texto. la pregunta es que tengo 2 hilanderos con matrices en un adaptador

Spinner 1

 ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this,R.array.kendaraan_arrays,android.R.layout.simple_spinner_item);
    spKendaraan.setAdapter(adapter1);

lo que quiero es matrices de spinner 2 depende de lo que seleccione en spinner 1

Spinner 2

@Override
    public void onItemSelected (AdapterView < ? > adapterView, View view,int position, long id){
    if (spKendaraan.getSelectedItem().equals("Mobil")) {
        Toast.makeText(getApplicationContext(), "Mobil dipilih", Toast.LENGTH_SHORT).show();
        ArrayAdapter adapter2 = ArrayAdapter.createFromResource(this, R.array.pelanggaran_mobil, android.R.layout.simple_spinner_item);
        spPelanggaran.setAdapter(adapter2);
    } else {
        ArrayAdapter adapter2 = ArrayAdapter.createFromResource(this, R.array.pelanggaran_motor, android.R.layout.simple_spinner_item);
        spPelanggaran.setAdapter(adapter2);
    }
}

mi código anterior no funciona, ¿estoy cometiendo errores de lógica / método?

tl; dr

if spinnerA == x{
spinnerB = m
}
else {
spinnerB = n
}

Como soy nuevo en Android, cualquier ejemplo sería muy apreciado, ted.

Respuestas a la pregunta(2)

Su respuesta a la pregunta