public void setValues(String ip, TcpConnectionManager.ReceiverType type, int menu) { this.ip = ip; this.type = type; this.menu = menu; connection = tcpConnectionManager.requireConnection(this); int[] spinnerMenus = TcpConnectionManager.getDropdownMenuSubmenus(getResources(), type); String[] spinnerCommands = TcpConnectionManager.getDropdownMenuCommandValues(getResources(), type); String[] spinnerResponses = TcpConnectionManager.getDropdownMenuResponseValues(getResources(), type); String[] spinnerReadables = TcpConnectionManager.getDropdownMenuNames(getResources(), type); if (spinnerMenus.length != spinnerCommands.length || spinnerMenus.length != spinnerResponses.length || spinnerMenus.length != spinnerReadables.length) { Log.e(LOG_TAG, "setValues: Array lengths don't match"); return; } for (int i = 0; i < spinnerMenus.length; i++) { if (spinnerMenus[i] == menu) { responseClassifier = spinnerResponses[i]; command = spinnerCommands[i]; submenuReadable = spinnerReadables[i]; break; } } setSpinnerContent(); }