0

我正在尝试实现 Yuri Kanivets 的 Android 轮子选择器。我只是想把几根弦放在一个轮子上。使我的实现有点不同的是我试图在 AlertDialog.Builder 上显示轮子。我可以让一个轮子出现在我的对话框中,但我似乎无法用任何东西填充它。每次我尝试向轮子添加值时,都会出现空指针异常。

如果有人熟悉这个,你能看到我做错了什么吗?我强烈怀疑我在 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();
}
4

1 回答 1

1

利用

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

代替

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

用于初始化 WheelViewrange实例,因为 WheelView 视图位于 DialogBoxwheel_range_layout布局而不是 Activity 布局

于 2013-05-21T04:52:32.933 回答