OnItemClickListener () для счетчиков в каждом элементе списка - PullRequest
0 голосов
/ 03 мая 2019

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

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

Поэтому я помещаю onIitemClickListener внутри GetView () пользовательского адаптера илив функции onCreate функции MainActivity ()?

У счетчика есть идентификатор, но, поскольку я использую настраиваемое представление списка, каждый счетчик почти так же, как если бы у всех был один и тот же идентификатор, если я не укажу элементпредставление списка внутри GetView (), но даже тогда возможно ли поместить слушателя в getView () и запустить его 24/7?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Сначала я советую вам использовать Recyclerview, вы можете взять предмет, выбранный из прядильщика, с помощью этого

public class TestSpinnerInListView extends RecyclerView.Adapter<TestSpinnerInListView.TestSpinnerHolder> {


@NonNull
@Override
public TestSpinnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    return new TestSpinnerHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_test,parent, false));
}

@Override
public void onBindViewHolder(@NonNull TestSpinnerHolder holder, int position) {
    holder.spTest.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //Do something
            holder.tvTest.setText((String) parent.getItemAtPosition(position));
        }
    });
}

@Override
public int getItemCount() {
    return 3;
}

class TestSpinnerHolder extends RecyclerView.ViewHolder{

    public TextView tvTest;
    public Spinner spTest;
    public TestSpinnerHolder(@NonNull View itemView) {
        super(itemView);
        tvTest = itemView.findViewById(R.id.tvTest);
        spTest = itemView.findViewById(R.id.sptest);

    }
}

}

0 голосов
/ 03 мая 2019

Вы должны добавить OnItemClickListener внутри метода OnCreate (), используя GetView ().Вам необязательно нужен идентификатор, если вы правильно используете GetView ().Существует также OnItemSelectedListener, который вы можете использовать, если хотите.Вы можете узнать больше об этом здесь .

Надеюсь, это поможет!

...