Hi, Is it possible to put functionality on the dependent spinner, I have 3 
spinners one is parent spinner and two of them are child spinners. I am 
trying to accomplish so when I choose some option of the parent spinner it 
will automatically change the child spinners depends what I choose(This is 
working). BUT the problem is that I dont know how to put functionality on 
that I am trying to create unit converter so when I choose for example 
Time(from parent spinner) it will change both of my child spinners to the 
Time units(Seconds minutes etc.). I'm trying to achieve this by adding 
functionality between the capabilities of these two child spinners and 
input from EditText. to convert units such as seconds to minutes, hours to 
minutes, etc.,and show the output of the TextView.

I hope I have explained it sufficiently...

Thank you for every answer <3


This is the code :


package org.multi.multicalculator;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {

//Spinner
Spinner CategorySpinner,FromUnitSpinner,ToUnitSpinner; //spinnnery
EditText EnterNumber;
TextView Output;
//Array
ArrayList<String> CategorySpinnerList;
ArrayList<String> FromUnitSpinnerListTime,ToUnitSpinnerListTime;
ArrayList<String> FromUnitSpinnerListLength,ToUnitSpinnerListLength;
ArrayAdapter<String>Categoryadapter; //categoryadapter
ArrayAdapter<String>FromUnitSpinnerAdapter;
ArrayAdapter<String>ToUnitSpinnerAdapter;
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.*activity_main*);
CategorySpinner = findViewById(R.id.*sp1*);
FromUnitSpinner = findViewById(R.id.*sp2*);
ToUnitSpinner = findViewById(R.id.*sp3*);
EnterNumber = findViewById(R.id.*EnterNumber*);
Output = findViewById(R.id.*Output*);
CategorySpinnerList = new ArrayList<>();
CategorySpinnerList.add("Time");
CategorySpinnerList.add("Length");
//Time
FromUnitSpinnerListTime = new ArrayList<>();
FromUnitSpinnerListTime.add("Seconds");
FromUnitSpinnerListTime.add("Minutes");
FromUnitSpinnerListTime.add("Hours");
//Time
ToUnitSpinnerListTime = new ArrayList<>();
ToUnitSpinnerListTime.add("Seconds");
ToUnitSpinnerListTime.add("Minutes");
ToUnitSpinnerListTime.add("Hours");
FromUnitSpinnerListLength = new ArrayList<>();
FromUnitSpinnerListLength.add("centimeter");
FromUnitSpinnerListLength.add("decimeter");
FromUnitSpinnerListLength.add("meter");
ToUnitSpinnerListLength = new ArrayList<>();
ToUnitSpinnerListLength.add("centimeter");
ToUnitSpinnerListLength.add("decimeter");
ToUnitSpinnerListLength.add("meter");

Categoryadapter = new ArrayAdapter<>(getApplicationContext(),R.layout.
*support_simple_spinner_dropdown_item*,
CategorySpinnerList);

CategorySpinner.setAdapter(Categoryadapter);

CategorySpinner.setOnItemSelectedListener(new 
AdapterView.OnItemSelectedListener() {

Override
public void onItemSelected(AdapterView<?> parent, View view, int position, 
long id) {
FromUnitSpinner.setAdapter(FromUnitSpinnerAdapter);
ToUnitSpinner.setAdapter(ToUnitSpinnerAdapter);
if (position==0) {

FromUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), 
R.layout.*support_simple_spinner_dropdown_item*, FromUnitSpinnerListTime);
ToUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.
*support_simple_spinner_dropdown_item*, ToUnitSpinnerListTime);

} if (position==1) {

FromUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), 
R.layout.*support_simple_spinner_dropdown_item*, FromUnitSpinnerListLength);
ToUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.
*support_simple_spinner_dropdown_item*, ToUnitSpinnerListLength);
}
}

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

}

-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/392630ce-51d4-47b2-8b25-234b42542236n%40googlegroups.com.

Reply via email to