프로그래밍 방식으로 회 전자 만들기 회 전자 완벽하게 드롭 다운 표시하지만 개미 항목을 클릭하면 표시되지 않습니다. 디버그 할 때 토스트 메시지가 회 전자 클릭 방식으로 이동하지 않습니다 내 코드가 잘못 되었습니까? 회 전자 항목은 표시되지만 클릭 이벤트는 무엇이 잘못 되었습니까?프로그래밍 방식으로 클릭하여 회 전자 작업 만들기
public class MainActivity extends Activity {
Spinner spinner;
String[] strings = { "Power Options", "Power off", "Restart" };
String[] subs = { "", "Shut phone down", "Close all apps and restart phone" };
int arr_images[] = { R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
spinner = new Spinner(this);
spinner.setAdapter(new MyAdapter(this, R.layout.row, strings));
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> adapterView, View view,
int i, long l) {
// TODO Auto-generated method stub
if (i == 1) {
Toast.makeText(MainActivity.this, "PowerOff Perform",
Toast.LENGTH_SHORT).show();
}
if (i == 2) {
Toast.makeText(MainActivity.this, "Reboot Perform",
Toast.LENGTH_SHORT).show();
}
}
// If no option selected
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
public class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
public View getCustomView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View row = inflater.inflate(R.layout.row, parent, false);
TextView label = (TextView) row.findViewById(R.id.company);
label.setText(strings[position]);
TextView sub = (TextView) row.findViewById(R.id.sub);
sub.setText(subs[position]);
ImageView icon = (ImageView) row.findViewById(R.id.image);
icon.setImageResource(arr_images[position]);
return row;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_BACK == event.getKeyCode()) {
spinner.performClick();
return true;
}
return super.onKeyDown(keyCode, event);
}
형식 코드의 사용하려고, 내가 레이아웃 spiner이 스피너처럼 잘 작동이 = (회 전자) findViewById를 (R이다 사용하는 경우 –