package com.android.PaDakPaDak2;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button;
public class Men_or_Women extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.men_or_women);
// TODO Auto-generated method stub
Button BrnChoiceMen = (Button)findViewById(R.id.btn_m_or_w1);
Button BrnChoiceWomen = (Button)findViewById(R.id.btn_m_or_w2);
BrnChoiceMen.setOnClickListener(ButtonOnClick);
BrnChoiceWomen.setOnClickListener(ButtonOnClick);
}
private View.OnClickListener ButtonOnClick = new View.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.btn_m_or_w1:
Button l = (Button)findViewById(R.id.btn_men1_1);
l.setBackgroundResource(R.drawable.icon);
Intent men1 = new Intent(Men_or_Women.this, Men1.class);
men1.putExtra("resId" , R.drawable.icon);
startActivity(men1);
break;
case R.id.btn_m_or_w2:
Intent women1 = new Intent(Men_or_Women.this, Women1.class);
startActivity(women1);
break;
}
}
};
}
package com.android.PaDakPaDak2;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button;
public class Men1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.men1);
// TODO Auto-generated method stub
Button BrnLeftMen = (Button)findViewById(R.id.btn_men1_1);
Button BrnRightMen = (Button)findViewById(R.id.btn_men1_2);
BrnLeftMen.setOnClickListener(ButtonOnClick);
BrnRightMen.setOnClickListener(ButtonOnClick);
}
private View.OnClickListener ButtonOnClick = new View.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.btn_men1_1:
Intent l_men = new Intent(Men1.this, Men2.class);
int data = getIntent().getIntExtra("resId" , -1);
startActivity(l_men);
break;
case R.id.btn_men1_2:
Intent r_men = new Intent(Men1.this, Men2.class);
startActivity(r_men);
break;
}
}
};
}버튼클릭시 다른 액티비티의 버튼 background의 이미지를 바꾸고 싶은데요...
(btn_m_or_w1 버튼 클릭시 액티비티가 넘어가면서 다른액티비에 있는 버튼 men1_1 버튼의 백그라운드 이지미를 바꾸고 싶은겁니다.)
에러는 안나는데 SDK에서는btn_m_or_w1버튼 누르자마자 에러창뜨네요;;
이소스의 위치가 잘못되었나요?? 아님 코드 자체가 잘못된것입니까??
이것저것 소스들 추가하다 보니까, 헷갈리네요;;
int resid = getIntent().getExtras().getInt("resId"); 였군요....
락스큐미 // 님...하나만 더 물어볼께요...;;;;
private View.OnClickListener ButtonOnClick = new View.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.btn_m_or_w1:
Intent men1 = new Intent(Men_or_Women.this, Men1.class);
men1.putExtra("resId" , R.drawable.sehyun);
startActivity(men1);
break;
case R.id.btn_m_or_w2:
Intent women1 = new Intent(Men_or_Women.this, Men1.class);
women1.putExtra("resId2" , R.drawable.yuri);
startActivity(women1);
break;버튼 "btn_m_or_w1"을 누르면 sehyun이미지로, "btn_m_or_w2" 를 누르면 yuri이미지로
men1 액티비티의 "btn_men1_1"의 백그라운드 이미지를 바꾸고 싶은데요....
어떻게 해야하나요......
private View.OnClickListener ButtonOnClick = new View.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.btn_men1_1:
Intent l_men = new Intent(Men1.this, Men2.class);
int data = getIntent().getIntExtra("resId" , -1);
startActivity(l_men);
break;맨처음 써논 뎃글이 Men_or_Women에서 버튼을 클릭시 세팅할 이미지의 리소스 아이디를 men1 activity로 넘겨주고
이후 men1 activity 가 구동될시 넘어온 값이 있으면 그 값으로 이미지를 세팅하도록 해놓은 것 입니다.
onCreate 부분에
Button BrnLeftMen = (Button)findViewById(R.id.btn_men1_1); 이놈 아래에다가 아래와 같이 코딩해보세요
if(getIntent() != null){
int resid = getIntent().getExtras().getInt("resId);
BrnLeftMen.setBackgroundResource(resid);
}
이때 resid를 보면 아래와 같은 R.drawable.sehyun or R.drawable.yuri 값이 넘어와서
배경을 체우게 될것 입니다.
05. Intent men1 = new Intent(Men_or_Women.this, Men1.class);
06. men1.putExtra("resId" , R.drawable.sehyun); 07. startActivity(men1); 08. break; 09. 10. case R.id.btn_m_or_w2: 11. Intent women1 = new Intent(Men_or_Women.this, Men1.class); 12. women1.putExtra("resId2" , R.drawable.yuri); 13. startActivity(women1); 14. break;
락스큐미 // 님 말대로 입력하니까 btn_m_or_w2 버튼 클릭시 men1액티비티의 btn_men1_1의 백그라운드는 검은색으로 나타납니다.
public class Men1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.men1);
// TODO Auto-generated method stub
Button BrnLeftMen = (Button)findViewById(R.id.btn_men1_1);
if(getIntent() != null){
int resid = getIntent().getExtras().getInt("resId");
BrnLeftMen.setBackgroundResource(resid);
}
Button BrnRightMen = (Button)findViewById(R.id.btn_men1_2); BrnLeftMen.setOnClickListener(ButtonOnClick); BrnRightMen.setOnClickListener(ButtonOnClick);
}
private View.OnClickListener ButtonOnClick = new View.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.btn_men1_1:
Intent l_men = new Intent(Men1.this, Men2.class);
int data = getIntent().getIntExtra("resId" , -1);
startActivity(l_men);
break;
case R.id.btn_men1_2:
Intent r_men = new Intent(Men1.this, Men2.class);
startActivity(r_men);
break;
}
}
};
}



네...안됩니다. 이런식으로는
btn_men1_1 는 R.layout.men1에 있는거잖아요? Men_or_Women activity에서는 알수가 없죠
위와 같은 구조를 가져가신다면 Men_or_Women 페이지의 20번 21번을 지우고
Men1 페이지 13번째 줄에 아래와 같이 하는게 어떨까요?
if(getIntent() != null){
int resid = getIntent().getExtras().getInt("resID");
BrnLeftMen.setBackgroundResource(resid);
}