MainActivity.java
package com.example.stuffs;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RatingBar rBar = (RatingBar)findViewById(R.id.rbar);
rBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener(){
public void onRatingChanged(RatingBar rbar, float rating, boolean fromUser){
Toast.makeText(MainActivity.this, "New Rating: " + rating, Toast.LENGTH_SHORT).show();
}
});
}
// 이걸 xml에서 호출하면 에러발생 (사유 모름 / 확인 필요)
public void onButtonClicked(View v){
Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
}
// 이걸 xml에서 호출하면 에러발생 (사유 모름 / 확인 필요)
public void onCheckBoxClicked(View v){
if (((CheckBox)v).isChecked()) {
Toast.makeText(MainActivity.this, "Checked", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "Not Checked", Toast.LENGTH_SHORT).show();
}
}
// 이걸 xml에서 호출하면 에러발생 (사유 모름 / 확인 필요)
public void onRadioButtonClicked(View v){
//RadioButton rbtn = (RadioButton)v;
Toast.makeText(this, ((RadioButton)v).getText(), Toast.LENGTH_SHORT).show();
}
public void onToggleClicked(View v){
if (((ToggleButton)v).isChecked()) {
Toast.makeText(MainActivity.this, "Toggle On", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "Toggle Off", Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@drawable/sc_image_button"
android:onClick="onButtonClicked"
/>
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="check it out"
android:onClick="onCheckBoxClicked"
/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rbtn_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Red"
android:onClick="onRadioButtonClicked"
android:checked="true"
/>
<RadioButton
android:id="@+id/rbtn_blue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Blue"
android:onClick="onRadioButtonClicked"
/>
</RadioGroup>
<ToggleButton
android:id="@+id/tbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Vibrate on"
android:textOff="Vibrate off"
android:onClick="onToggleClicked"
/>
<RatingBar
android:id="@+id/rbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="1"
android:stepSize="1.0"
/>
</LinearLayout>
sc_image_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/android_pressed"
android:state_pressed="true" />
<item
android:drawable="@drawable/android_focused"
android:state_focused="true" />
<item
android:drawable="@drawable/android_normal"
/>
</selector>
위와 같이 했을때 4시간 동안 삽질한 것을 알려주겠다.
xml의 버튼에서 android:onClick="onButtonClicked" 로 클릭 이벤트를 등록했다.
java에서 onButtonClicked을 구현해주면 간단하게 구현되는 거다.
근데 이게 안되서 4시간 동안 삽질..
문제는 이거였다. OnButtonClicked
흑흑.
'OS > Android' 카테고리의 다른 글
| 이미지버튼 만들기 에러 (0) | 2016.02.05 |
|---|---|
| 이벤트 생성시 주의사항 (0) | 2016.02.05 |
| 안드로이드 초보 강습! (0) | 2016.02.05 |
| 이클립스 워크스페이스 별로 실행 및 수정 (0) | 2016.02.05 |
| 해상도별 스크린 레이아웃 (0) | 2016.02.05 |