Android Studio Listener ile Button Kontrolü
Herkese merhaba, Bu seferki dersimizin amacı switch case yapısı kullanarak birden fazla butonu tek bir listener ile kontrol edicez. Yani biz her button için tek tek tıklama olayı tanımlamıştık şimdi ise tek bir tıklamada hepsini kontrol ediceğiz. Mesela 1 button 2 sayıyı toplasın. 1 butonumuz text View’e Ali yazdırsın. 1 Buton’da Toast Mesaj göstererk Button1 ‘e tıkladınız desin.
Tasarım Kısmı:
Tasarım Kodları;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_below="@+id/button2" android:layout_centerHorizontal="true" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button2" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="101dp" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button3" android:layout_below="@+id/button" android:layout_centerHorizontal="true" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Text" android:id="@+id/textView" android:layout_below="@+id/button3" android:layout_centerHorizontal="true" android:layout_marginTop="84dp" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText2" android:layout_below="@+id/editText" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
</RelativeLayout> |
Java Kodumuz : View.OnClickListener’dan ‘dan kalıtım implement alıyoruz. Ve butonlarımızı tanıtıyoruz. ve hepsini tek bir noktada tıklama veriyoruz. Altta ise aldığımız getId’leri ile her buton’un idsi için işlem yaptırıyoruz.
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements View.OnClickListener{
TextView tv;
Button b1,b2,b3;
EditText a1,a2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
b3=(Button)findViewById(R.id.button3);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
tv=(TextView)findViewById(R.id.textView);
a1=(EditText)findViewById(R.id.editText);
a2=(EditText)findViewById(R.id.editText2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button:
Toast.makeText(getApplicationContext(), "Buton 1'e tıklandı.", Toast.LENGTH_SHORT).show();
break;
case R.id.button2:
tv.setText("Ali");
break;
case R.id.button3:
float sayi1float=Float.parseFloat(a1.getText().toString());
float sayi2float=Float.parseFloat(a2.getText().toString());
tv.setText(String.valueOf(sayi1float+sayi2float));
break;
}
}
Uygulamanın Çalışması
Henüz Yorum Yapılmamış, İlk Yorumu Siz Yapın