Как получить значения прогресса из SeekBar, созданного в ListAdapter? - PullRequest
0 голосов
/ 30 сентября 2011

Я сейчас работаю над своим первым Android-приложением, которое вообще является моим первым кусочком Java-кода. Думаю, я уже довольно далеко продвинулся, но теперь я застрял в следующей теме:

У меня есть ListActivity, которое показывает rowViews из пользовательского ListAdapter, сгенерированного из объектов json. Всего существует 3 типа объектов:

Комнаты, в которых нет ни кнопки, ни ползунка. Они обрабатываются так в моей ListActivity:

@Override
protected void onListItemClick (ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    Log.d(TAG,"Area" + l.getItemAtPosition(position).toString() + "clicked");
    handleControlItemActions((JSONObject)l.getItemAtPosition(position));
}

Переключаемые устройства, у которых есть кнопка включения и выключения, обрабатываются следующим образом (onObjectSwitch определяется в xml как действие onClick для кнопки):

    public void onObjectSwitch (final View view) {
     Log.d(TAG,"Object" + view.getId()+ " clicked");
     handleControlItemActions((JSONObject)l.getItemAtPosition(position));
}   

Устройства с регулируемой яркостью, которые имеют SeekBar, и вот моя проблема: Я знаю «onSeekBarChangeListener», но я понятия не имею, как я могу установить его для SeekBars, которые находятся внутри rowViews из моего класса Activity. Бары создаются Listadapter следующим образом:

    case 1:
    textView.setText((String)controlItem.get("name") + " " +(String)controlItem.getString("actual")+"°C");
    slider.setVisibility(View.VISIBLE);
    slider.setId(position);
    slider.setProgress(controlItem.getInt("setPoint"));
    slider.setMax(controlItem.getInt("max"));
    break;

Может кто-нибудь сказать мне, как обращаться с этими ползунками? Или я даже не на правильном пути, чтобы управлять этими виджетами?

Заранее спасибо всем (и извините за мои слова;))!

1 Ответ

0 голосов
/ 05 октября 2011

Хорошо, понял: просто определите listadapter как подкласс внутри listactivity, теперь вы можете ссылаться на методы, не помечая их как «static».

...