我正在学习android / java,正在创建一个进行转换的应用程序。我遇到的问题是,由于用户必须选择要转换的单位和要转换的单位,因此可以进行很多不同的组合。我需要一个可以确定选择哪个单位的解决方案,以便可以使用分配给每个单位的值进行计算。这是代码。
预先感谢您的任何答复。 Dom。
<?xml version="1.0" encoding="utf-8"?>
<android.widget.RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:text="Conversions"
android:textSize="20sp" />
<TextView
android:id="@+id/weight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:text="Weight"
android:textSize="20sp"
android:layout_marginLeft="10dp"/>
<Spinner
android:id="@+id/spin1"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_below="@+id/weight"
>
</Spinner>
<Spinner
android:id="@+id/spin2"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_below="@+id/weight"
android:layout_toRightOf="@id/to">
</Spinner>
<TextView
android:id="@+id/to"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/weight"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/spin1"
android:text="-->"
android:textSize="25sp" />
<EditText
android:id="@+id/val1"
android:layout_width="75dp"
android:layout_height="60dp"
android:inputType="numberDecimal"
android:layout_below="@id/spin1"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@id/to"
/>
<TextView
android:id="@+id/answer"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:text=""
android:layout_toRightOf="@+id/val1"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_below="@+id/spin1"
/>
<Button
android:id="@+id/calc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate"
android:textAllCaps="false"
android:layout_below="@id/spin2"
android:layout_alignParentRight="true"
android:layout_marginTop="15dp"
android:layout_marginRight="15dp"
/>
</android.widget.RelativeLayout>`
Java:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spin1 = findViewById(R.id.spin1);
String[] items1 = {"Gram", "Kilogram", "Stone", "Tonne", "Pound", "Ounce",};
ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items1);
spin1.setAdapter(adapter1);
Spinner spin2 = findViewById(R.id.spin2);
String[] items2 = {"Gram", "Kilogram", "Stone", "Tonne", "Pound", "Ounce",};
ArrayAdapter<String> adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items2);
spin2.setAdapter(adapter2);
}
}