I started programming android application, but get stuck in a part where I need to get values from string. At this moment trying to make Calculator for Android. At this example I'm trying to get values just for add two values.
Adding my code:
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Bind({R.id.button0, R.id.button1, R.id.button2, R.id.button3, R.id.button4, R.id.button5, R.id.button6, R.id.button7, R.id.button8,
R.id.button9, R.id.buttonDot, R.id.buttonC, R.id.buttonDeleteLastSymbol, R.id.buttonMultiplication, R.id.buttonDivision, R.id.buttonSubtraction, R.id.buttonEqual})
List<Button> button;
@Bind(R.id.editText1)
EditText editText;
public String sign = "";
public Double mathDouble, mathDouble2;
static final ButterKnife.Action<View> DISABLE = new ButterKnife.Action<View>() {
@Override
public void apply(View view, int index) {
view.setEnabled(false);
}
};
static final ButterKnife.Setter<View, Boolean> ENABLED = new ButterKnife.Setter<View, Boolean>() {
@Override
public void set(View view, Boolean value, int index) {
view.setEnabled(value);
}
};
//Buttons 0-9
@OnClick({R.id.button0, R.id.button1, R.id.button2, R.id.button3, R.id.button4, R.id.button5, R.id.button6, R.id.button7, R.id.button8,
R.id.button9, R.id.buttonDot})
void inputValue(Button button) {
editText.append(button.getText());
}
@OnClick({R.id.buttonPlus, R.id.buttonSubtraction, R.id.buttonDivision, R.id.buttonMultiplication})
void inputSign(Button button) {
sign = button.getText().toString();
editText.append(sign);
}
public Double FirstValue() {
String writtenText = editText.getText().toString();
String firstValue = writtenText.substring(0, writtenText.indexOf("+"));
return mathDouble = Double.parseDouble(firstValue);
}
Double SecondValue() {
String writtenText = editText.getText().toString();
String secondValue = writtenText.substring(writtenText.indexOf("+") + 1, writtenText.charAt(writtenText.length() - 1));
return mathDouble2 = Double.parseDouble(secondValue);
}
//Buttons Equal, CE and C
@OnClick(R.id.buttonC)
void WriteLeftBracket() {
editText.setText(String.valueOf(""));
}
@OnClick(R.id.buttonDeleteLastSymbol)
void WriteRightBracket() {
if (editText.getText().toString().length() > 0) {
editText.setText(editText.getText().toString().substring(0, editText.getText().toString().length() - 1));
editText.setSelection(editText.getText().length());
}
}
@OnClick(R.id.buttonEqual)
void Equal(Button button) {
editText.append(button.getText());
editText.setText(Double.toString(mathDouble + mathDouble2));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ButterKnife.bind(this);
}
}
content_main.xml
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="60dp">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:singleLine="true"
android:lines="1"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/layout1">
<Button
android:id="@+id/buttonC"
android:layout_width="80dp"
android:layout_height="80dp"
android:text="@string/erase"
android:textSize="30sp" />
<Button
android:id="@+id/buttonDeleteLastSymbol"
android:layout_width="80dp"
android:layout_height="80dp"
android:text="@string/delete"
android:textStyle="bold"
android:textSize="30sp" />
<Button
android:id="@+id/buttonMultiplication"
android:layout_width="80dp"
android:layout_height="80dp"
android:text="@string/multiplication"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout1">
<Button
android:id="@+id/button7"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/seven"
android:textSize="30sp" />
<Button
android:id="@+id/button8"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/eight"
android:textSize="30sp" />
<Button
android:id="@+id/button9"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/nine"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout2">
<Button
android:id="@+id/button4"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/four"
android:textSize="30sp" />
<Button
android:id="@+id/button5"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/five"
android:textSize="30sp" />
<Button
android:id="@+id/button6"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/six"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout3">
<Button
android:id="@+id/button1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/one"
android:textSize="30sp" />
<Button
android:id="@+id/button2"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/two"
android:textSize="30sp" />
<Button
android:id="@+id/button3"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/three"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout4">
<Button
android:id="@+id/button0"
android:layout_width="160dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/zero"
android:textSize="30sp" />
<Button
android:id="@+id/buttonDot"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/dot"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout1"
android:layout_toRightOf="@id/linearLayout1">
<Button
android:id="@+id/buttonDivision"
android:layout_width="80dp"
android:layout_height="80dp"
android:layoutDirection="inherit"
android:text="@string/division"
android:textSize="30sp" />
</LinearLayout>
<Button
android:id="@+id/buttonSubtraction"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@+id/linearLayout1"
android:layout_toEndOf="@+id/linearLayout1"
android:text="@string/subtraction"
android:textSize="30sp" />
<Button
android:id="@+id/buttonEqual"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@+id/linearLayout2"
android:layout_toEndOf="@+id/linearLayout1"
android:text="@string/equal"
android:textSize="30sp" />
<Button
android:id="@+id/buttonPlus"
android:layout_width="80dp"
android:layout_height="160dp"
android:layout_below="@+id/linearLayout3"
android:layout_toEndOf="@+id/linearLayout1"
android:text="@string/plus"
android:textSize="30sp"
/>
</RelativeLayout>
strings.xml
<resources>
<string name="app_name">Calculator</string>
<string name="action_settings">Settings</string>
<string name="dot">.</string>
<string name="plus">+</string>
<string name="subtraction">-</string>
<string name="division">/</string>
<string name="multiplication">*</string>
<string name="equal">=</string>
<string name="erase">C</string>
<string name="delete">←</string>
//Numbers
<string name="one">1</string>
<string name="two">2</string>
<string name="three">3</string>
<string name="four">4</string>
<string name="five">5</string>
<string name="six">6</string>
<string name="seven">7</string>
<string name="eight">8</string>
<string name="nine">9</string>
<string name="zero">0</string>
<string name="illegal_argument_exeption">Cannot Divide By Zero!</string>
</resources>
Use this to get value:
getResources().getString("R.string.StringName");
For example
String zero = getResources().getString("R.string.zero");
你只需要使用
getResources().getString(R.string.stringName)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.