반응형
main.java
package com.cookandroid.layout;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
EditText edit1,edit2;
Button btnadd,btnmin,btnmul,btndiv;
TextView tv1;
String num1,num2;
Integer result;
Button[] numButton = new Button[10];
Integer[] numBtnids = {R.id.btn0,R.id.btn1,R.id.btn2,R.id.btn3,R.id.btn4,R.id.btn5,
R.id.btn6,R.id.btn7,R.id.btn8,R.id.btn9};
int i;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("테이블레이아웃 계산기");
edit1 = (EditText) findViewById(R.id.Edit1);
edit2 = (EditText) findViewById(R.id.Edit2);
btnadd = (Button) findViewById(R.id.btnadd);
btnmin = (Button) findViewById(R.id.btnmin);
btnmul = (Button) findViewById(R.id.btnmul);
btndiv = (Button) findViewById(R.id.btndiv);
tv1 = (TextView) findViewById(R.id.TextResult);
btnadd.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1)
{
num1= edit1.getText().toString();
num2= edit2.getText().toString();
result = Integer.parseInt(num1) + Integer.parseInt(num2);
tv1.setText("계산결과 : "+result.toString());
return false;
}
});
btnmin.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1)
{
num1= edit1.getText().toString();
num2= edit2.getText().toString();
result = Integer.parseInt(num1) - Integer.parseInt(num2);
tv1.setText("계산결과 : "+result.toString());
return false;
}
});
btnmul.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1)
{
num1= edit1.getText().toString();
num2= edit2.getText().toString();
result = Integer.parseInt(num1) * Integer.parseInt(num2);
tv1.setText("계산결과 : "+result.toString());
return false;
}
});
btndiv.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View arg0, MotionEvent arg1)
{
num1= edit1.getText().toString();
num2= edit2.getText().toString();
result = Integer.parseInt(num1) / Integer.parseInt(num2);
tv1.setText("계산결과 : "+result.toString());
return false;
}
});
for(i=0;i<numBtnids.length;i++)
{
numButton[i] = (Button) findViewById(numBtnids[i]);
}
for(i = 0; i<numBtnids.length;i++) {
final int index;
index = i;
numButton[index].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (edit1.isFocused() == true) {
num1 = edit1.getText().toString()
+ numButton[index].getText().toString();
edit1.setText(num1);
} else if (edit2.isFocused() == true) {
num2 = edit2.getText().toString()
+ numButton[index].getText().toString();
edit2.setText(num2);
} else
Toast.makeText(getApplicationContext(), "먼저 에디트텍스트를 선택하세요", Toast.LENGTH_SHORT).show();
}
});
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout 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">
<TableRow>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/Edit1"
android:layout_span="5"
android:hint="숫자1 입력"/>
</TableRow>
<TableRow>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/Edit2"
android:layout_span="5"
android:hint="숫자2 입력"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btn0"
android:text="0"/>
<Button
android:id="@+id/btn1"
android:text="1"/>
<Button
android:id="@+id/btn2"
android:text="2"/>
<Button
android:id="@+id/btn3"
android:text="3"/>
<Button
android:id="@+id/btn4"
android:text="4"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btn5"
android:text="5"/>
<Button
android:id="@+id/btn6"
android:text="6"/>
<Button
android:id="@+id/btn7"
android:text="7"/>
<Button
android:id="@+id/btn8"
android:text="8"/>
<Button
android:id="@+id/btn9"
android:text="9"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnadd"
android:layout_margin="5dp"
android:layout_span="5"
android:text="더하기"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnmin"
android:layout_margin="5dp"
android:layout_span="5"
android:text="빼기"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnmul"
android:layout_margin="5dp"
android:layout_span="5"
android:text="곱하기"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btndiv"
android:layout_margin="5dp"
android:layout_span="5"
android:text="나누기"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/TextResult"
android:layout_margin="5dp"
android:layout_span="5"
android:text="계산결과: "
android:textColor="#FF0000"/>
</TableRow>
</TableLayout>
반응형
'Programming > Android' 카테고리의 다른 글
안드로이드 리스트뷰(listview) 예제 (0) | 2021.08.17 |
---|---|
안드로이드프로그래밍 RecyclerView 예제 (안드로이드 예제) (0) | 2021.08.16 |
안드로이드 프로그래밍 직접풀어보기5-4 (안드로이드 예제) (0) | 2021.08.16 |
안드로이드 프로그래밍 RelativeLayout 예제 (0) | 2021.08.16 |
안드로이드 프로그래밍 직접 풀어보기 5-3 (안드로이드 예제) (0) | 2021.08.16 |