package com.bu.api;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
import android.graphics.drawable.*;
public class spi extends Activity implements AdapterView.OnItemSelectedListener {
/** Called when the activity is first created. */
TextView selection ;
ImageButton imgB = null;
String[] Example = new String[]{"필립모리스","포화속으로"};
int[] icon = {
R.drawable.a
,R.drawable.b
};
//ImageView drawImage = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgB = (ImageButton)findViewById(R.id.IB);
selection = (TextView)findViewById(R.id.selection);
Spinner s = (Spinner) findViewById(R.id.Spinner);
s.setOnItemSelectedListener(this);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, Example);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
//drawImage = (ImageView)findViewById(R.id.draw);
imgB.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
setContentView(R.layout.sss);
}
});
}
public void onItemSelected(AdapterView<?> parent, View v, int position , long id){
//selection.setText(Example[position]);
Drawable img =getResources().getDrawable(icon[position]);
imgB.setImageDrawable(img);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
selection.setText("");
}
}
요기까지의 소스 설명을 드리면 해당 리스트의 항목이 클릭되면
하단의그림이 바뀌게 됩니다.
그리고 그 그림을 클릭하면 다음 레이아웃으로 넘어가게 되는데요.
그 넘어가는 레이아웃이
어떤 그림의 버튼을 눌러도 똑같은 레이아웃화면으로 넘어가서요...
그림마다 넘어가는 레이아웃을 틀리게 하고 싶습니다;;
여리낭군님께서 답변을 해주셨습니다;;그런데 무슨 소리인질 모르게써용 ㅠㅠ 지식이 티끌이라;;
예제로 설명 해주시면 감사드리겠습니다..ㅠㅠ
아래는 여리낭군v님의 답변입니다;;
public void onClick(View v) {
setContentView(R.layout.sss);
}
이부분이 레이아웃이 고정되어 있는데... 음...
그림을 클릭할시에... settag값으로 tag를 포지션값을 넘겨주고
이미지 클릭 이벤트시 해당 tag값을 토대로 setContentView를 if문 또는 switch case 문을 이용해서 분기하시면 될 듯..
setContentView(R.layout.sss);
하단에 "이미지버튼" 에 이미지가 막 바뀌어요.
그래서 그 이미지 버튼을 클릭하면 해당 영화의 소개가 써있는 레이아웃으로 이동하게 하려구요...
지금은 이미지 버튼의 이미지는 바뀌는데 클릭하면 무조건 sss 레이아웃으로만 가져서요;;;
나름대로 알아봐서;;;
imgB.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()){
case R.drawable.a:
setContentView(R.layout.sss);
break;
case R.drawable.b:
setContentView(R.layout.ss);
break;
}
}
});
요렇게 는 안될깡요...ㅠㅠ 왜 안돼지;;
잇힝~~ 뽀군님께서 도와주셔서 다 했어요!!
package com.bu.api;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
import android.graphics.drawable.*;
public class spi extends Activity implements AdapterView.OnItemSelectedListener {
/** Called when the activity is first created. */
TextView selection ;
ImageButton imgB = null;
String[] Example = new String[]{"영화1","영화2"};
int[] icon = {
R.drawable.a
,R.drawable.b
};
long nowimg;
//ImageView drawImage = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mai);
imgB = (ImageButton)findViewById(R.id.IB);
selection = (TextView)findViewById(R.id.selection);
Spinner s = (Spinner) findViewById(R.id.Spinner);
s.setOnItemSelectedListener(this);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, Example);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
//drawImage = (ImageView)findViewById(R.id.draw);
}
public void onItemSelected(AdapterView<?> parent, View v, int position , long id){
//selection.setText(Example[position]);
Drawable img =getResources().getDrawable(icon[position]);
imgB.setImageDrawable(img);
nowimg =id;
imgB.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
if (nowimg == 0)
{
setContentView(R.layout.sss);
}
else
{
setContentView(R.layout.ss);
}
}
});
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
selection.setText("");
}
}
버튼 리스너를 아래에 섹렉트쪽에 넣으니깐 되네요!! 아싸!! 도움 감사드려요!!!!!!!!!!!!!!!!!!!!!!!!!!
ㅎㅎㅎ 구지 새로운 변수를 생성하시지 않아도...
public void onItemSelected(AdapterView<?> parent, View v, int position , long id){
안에서
nowimg = position; 대신...
imgB.setTag(position);
을 사용하시고...
imgB.setOnClickListener(new View.OnClickListener(){
이렇게 하는 방법도 있습니다...
//selection.setText(Example[position]);
Drawable img =getResources().getDrawable(icon[position]);
imgB.setImageDrawable(img);