Событие OnClick в строке ListView с двумя кнопками - PullRequest
2 голосов
/ 16 февраля 2012

Положение:

  • У меня есть ListView с моим собственным ListAdapter.
  • В каждой строке У меня есть две Buttons.

Я пытаюсь реализовать методы onClick для двух Buttons, но я не нахожу правильного решения. Это метод getView из моего ListAdapter с моими двумя Buttons:

    public View getView(final int groupPosition, View convertView, ViewGroup parent) {
         if (convertView == null) {
              convertView = inflater.inflate(R.layout.modul_item, null);
         }

         TextView tv = (TextView) convertView.findViewById(R.id.modul_title);
         tv.setText(modul_overviewActivity.getvalue().get(groupPosition));

         Button Button_1 = (Button)convertView.findViewById(R.id.button1);
         Button Button_2 = (Button)convertView.findViewById(R.id.button2);

    return convertView;
}
  • В моем OnCLickListeners я хочу изменить параметры Objects, которые отображаются в ListView.
  • Отображается имя Objects, но у них есть еще несколько параметров (переменных), которые я хочу отредактировать в другом Activity.
  • Это Activity должно открыться, если я нажму одну из Buttons.

Ответы [ 3 ]

2 голосов
/ 16 февраля 2012

Я не совсем понял, что вы хотите сделать в ваших слушателях кнопок, но проверьте этот код:

public View getView(final int groupPosition, View convertView, ViewGroup parent) {
         if (convertView == null) {
              convertView = inflater.inflate(R.layout.modul_item, null);
         }

         TextView tv = (TextView) convertView.findViewById(R.id.modul_title);
         tv.setText(modul_overviewActivity.getvalue().get(groupPosition));

         Button Button_1 = (Button)convertView.findViewById(R.id.button1);
         Button_1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
                    //this is how you start a new Activity(i guess you want this for editing the details)
            Intent i = new Intent(List4.this, DetailsAct.class);            
                    startActivity(i);
                }

            });
         Button Button_2 = (Button)convertView.findViewById(R.id.button2);

    return convertView;
}

Это только для начала нового действия, намерение может перенести больше данных в новоеактивность, чтобы вы могли отправлять другую важную информацию (например, положение элемента, для которого нужно вычислять материал, это зависит от того, какие данные и как вы их храните).

0 голосов
/ 16 марта 2012

Напишите публичный метод в вашей Деятельности, например

public void onClick(View v) {
.....
}
0 голосов
/ 16 февраля 2012

, если вы используете xml для кнопки, добавьте к ней android:onClick="onClick".

...