2012-10-01 5 views
3

sof 또는 google에서 아무것도 찾을 수 없습니다! 그래서 네 도움이 필요해! ID는 내 (빈) 회 전자를 클릭하므로 날짜 또는 시간대 대화 상자가 표시됩니다. 나는 그것을 처리하는 방법을 찾을 수 없습니다. 이들은 지금 나의 조각이다 :DatePickerDialog는 회 전자에서 호출합니다. onClick

내 2 개체 :

DatePickerDialog dDialog = new DatePickerDialog(this, (OnDateSetListener) this, 2012, 3, 3); 


     Spinner dSpinner = (Spinner) findViewById(R.id.spinner1); 

XML :

<Spinner 
    android:id="@+id/spinner1" 
    android:spinnerMode="dialog" 
    android:prompt="@string/hint_date" 
    android:layout_marginTop="40dp" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

어쩌면 당신이 그것을 처리하는 방법에 대한 아이디어를 가지고있다. 나는 날짜를 고르고, picker를 호출하고, onClick을 사용합니다. (스피너와 함께 할 수없는 것은 무엇입니까?) 나는 onclicklisteners도 시도했습니다.

+0

http://developer.android.com/guide/topics/ui/controls/pickers.html –

+0

난 정말이 링크를 알고 ..하지만 스피너 불가능 : | 나는 시험해 보았다! – user1707493

+0

나는 내가 이해할 지 모르겠다. 왜 당신은 비어있는 Spinner를 가지고 있습니까? 그래서'Spinner'가'DatePickerDialog'을 보여주는'Button'과 같이 작동하기를 원합니까? –

답변

2

spinnerMode 속성은 찾고자하는 속성이 아닙니다. 사용자가 Spinner을 클릭 할 때 DatePickerDialog을 표시하려면 사용자 정의 Spinner 위젯을 작성하고 Spinner의 값으로 기본 대화 상자를 표시하는 performClick 메소드를 대체해야합니다.

public class CustomSpinnerDialog extends Spinner { 

     // implement all the constructors 

    @Override 
    public boolean performClick() { 
     DatePickerDialog dDialog = new DatePickerDialog(getContext(), 
       new OnDateSetListener() { 

        @Override 
        public void onDateSet(DatePicker view, int year, 
          int monthOfYear, int dayOfMonth) { 
         Toast.makeText(getContext(), "Something", 
           Toast.LENGTH_SHORT).show(); 

        } 
       }, 2012, 3, 3); 
     dDialog.show(); 
     return false; 
    } 

} 

그런 다음 당신이해야 할 모든 레이아웃이 정의 Spinner을 사용할 수 있습니다 : 다음은 예입니다.

+0

감사합니다! 시도해 볼게 ! ;) – user1707493

+0

흠 나는 그것을 얻지 못한다 ... 어떻게 내 활동에서 그것을 사용합니까? Object CustomSpinner를 만들고 LayoutParameterrs를 설정 한 다음 어떻게 표시 할 수 있습니까 ?? – user1707493

+1

@ user1707493 일반 '회 전자 (Spinner)'처럼 사용하면됩니다. 예를 들어, 질문에'Spinner'가 xml 레이아웃으로 선언되어 있습니다. 다음과 같이 사용자 지정 Spinner를 사용합니다. ' – Luksprog

1

더 나은 방법은 주식 연락처 응용 프로그램 편집 연락처 화면에서와 같이 Spinner 스타일로 단추를 마스킹하는 것입니다.

<Button 
     android:id="@+id/date_view" 
     style="?android:attr/spinnerStyle" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:paddingLeft="12dip" 
     android:paddingStart="12dip" /> 
관련 문제