package exam.test2;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
public class effect extends Activity implements RadioGroup.OnCheckedChangeListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.effect);
Button Btn = (Button)findViewById(R.id.ok);
Btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
//이 부분에 어떻게 들어가야 할까요?? 추후 추가할 옵션을 적용하고 이전 엑티비티로 넘어가야되요.
}
});
Button Btn2 = (Button)findViewById(R.id.cancel);
Btn2.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
finish();
}
});
RadioGroup ColGroup = (RadioGroup)findViewById(R.id.effGroup);
ColGroup.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (group.getId() == R.id.effGroup) {
switch (checkedId) {
case R.id.eff1:
Toast.makeText(this,"Gray",Toast.LENGTH_SHORT).show();// 현재 Toast 부분을 추후 옵션내용으로 바꿀 예정입니다.
break;
case R.id.eff2:
Toast.makeText(this,"Pastel",Toast.LENGTH_SHORT).show();//
break;
case R.id.eff3:
Toast.makeText(this,"Crystal",Toast.LENGTH_SHORT).show();//
break;
case R.id.eff4:
Toast.makeText(this,"Overlay",Toast.LENGTH_SHORT).show();//
break;
}
}
}
}
고수님들 답변 부탁드립니다.
효과가 어떤건지 몰라서 선택은 effect에서 하고 배경색(?) 이런거는 이전 Activity에서 적용 하실꺼면 아래 내용 보시고 거기서 넘어 오는 값을 가지고 처리 해 주시면 될꺼 같습니다.
이전 Activity 에서 effect 호출시
Intent i = new Intent(이전Activity.this,effect.class);
startActivityForResult(i, 0);
이전 Activity 에서 effect 에서 선택한 값 전달 받는 부분
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 0) {
effect 에서 넘겨 주는 값 = data.getExtras().getString("text");
}
}
}
effect 에서
public void onClick(View v){
//이 부분에 어떻게 들어가야 할까요?? 추후 추가할 옵션을 적용하고 이전 엑티비티로 넘어가야되요.
Intent i = getIntent();
i.putExtra("text", 이전 Activity 에서 전달 할 값 );
setResult(RESULT_OK, i);
finish();
}
public void onClick(View v){
Intent i = getIntent();
i.putExtra("text", "gray" ); <- 여기에 String a를 넣으신건가요?
setResult(RESULT_OK, i);
finish();
}
하시고
String a = data.getExtras().getString("text");
하시면 될꺼 같습니다.
i.putExtra("text", "gray" ); <- 여기서 "text" 구분자 입니다.
String a = data.getExtras().getString("text"); <- "text" 구분자와 같이 들어간 값을 가지고 오는 부분 이구요.
Paint gray;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.effect);
Button Btn = (Button)findViewById(R.id.ok);
Btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Intent i = getIntent();
i.putExtra("text","color");
setResult(RESULT_OK, i);
finish();
}
});
case R.id.eff1:
gray.setColor(Color.GRAY);
Toast.makeText(this,"Gray",Toast.LENGTH_SHORT).show();
break;
이전의 엑티비티에서
if(resultCode != RESULT_OK){
if (requestCode == 0) {
String a = data.getExtras().getString("text");
}
이런식으로 하긴 했는데 이러면 받아오는게 없는거 같은데... 제가 잘못하는거겠죠?;;;




effect 를 이전 클래스에서 호출 했으면 그냥 finish(); 하면 이전 화면으로 넘어 갈꺼예요..