2013-05-21 30 views
0

我試圖實現Yuri Kanivets的Android輪式選取器。我只是試圖在單個輪子上放置幾根琴絃。是什麼讓我的實現有點不同,我試圖在AlertDialog.Builder上顯示輪子。我可以得到一個空的輪出現在我的對話框中,但我似乎無法填充任何東西。每次我嘗試向輪子添加值時,都會收到空指針異常。實現Android Wheel的空指針

如果有人熟悉這一點,你能看到我做錯了什麼嗎?我強烈懷疑我在ArrayWheelAdapter中使用的上下文是錯誤的,但我不知道如何去做。這裏是我的代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_find_events); 

    LayoutInflater inflater = LayoutInflater.from(this); 
    builderView = inflater.inflate(R.layout.wheel_range_layout, null); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setView(builderView);  
    alert = builder.create(); 

    final WheelView range = (WheelView) findViewById(R.id.range); 
    int defaultRange = 0; 
    String ranges[] = new String[] {"10 miles", "25 miles", "50 miles", "Everywhere"}; 

    ArrayWheelAdapter<String> adapter = new ArrayWheelAdapter<String>(this, ranges); 
    adapter.setTextSize(18); 

    //this next line is where it is crashing -- maybe adapter is null??? 
    range.setViewAdapter(adapter); 
    range.setCurrentItem(defaultRange); 

    alert.show(); 
} 

回答

1

使用

final WheelView range = (WheelView)builderView. findViewById(R.id.range); 

,而不是

final WheelView range = (WheelView) findViewById(R.id.range); 

初始化WheelView range實例,因爲WheelView View是對話框而不是活動佈局的wheel_range_layout佈局

+0

那是的。萬分感謝! – Alex