Прямо сейчас я занимаюсь функциями чата. Я расширяю ArrayAdapter. С помощью только этого массива ArrayAdapter я могу достичь многих функций в чате. Поэтому я не могу изменить этот массив ArrayAdapter ,Как использовать два адаптера в одном классе
Но я должен использовать другой адаптер (BaseSwipeListAdapter.java), чтобы получить доступную функцию влево (включить или отключить).
ChatActivity.java: (с использованием ChatAdapter внутри этого класса):
static public class ChatAdapter extends ArrayAdapter<ChatMessage> {
private final List<ChatMessage> chatMessages;
private Activity context;
String loggedUserId, loggedUserName;
public ChatAdapter(Activity context, int resource, List<ChatMessage> chatMessages) {
super(context, resource, chatMessages);
this.context = context;
this.chatMessages = chatMessages;
}
}
мне нужно использовать этот код, приведенный ниже в ChatActivity.java, чтобы достичь своей result.But я не могу продлить BaseSwipeListAdapter.Because Я уже использую ArrayAdapter.
@Override
public boolean getSwipEnableByPosition(int position) {
if(position % 2 == 0){
return false;
}
return true;
}
BaseSwipeListAdapter.java:
import android.widget.BaseAdapter;
public abstract class BaseSwipListAdapter extends BaseAdapter {
public boolean getSwipEnableByPosition(int position){
return true;
}
}
SwipeMenuAdapter.java: (Libarary класс):
public class SwipeMenuAdapter implements WrapperListAdapter,
OnSwipeItemClickListener {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SwipeMenuLayout layout = null;
if (mAdapter instanceof BaseSwipListAdapter) {
boolean swipEnable = (((BaseSwipListAdapter) mAdapter).getSwipEnableByPosition(position));
layout.setSwipEnable(swipEnable); --->This line is used to enable and disable the swipe left in listview.I need to use this method
}
return layout;
}
Как назвать этот метод setSwipEnable (swipEnable) в ChatActivity. класс
Я думаю, что невозможно использовать два адаптера в одном классе. Есть ли альтернативный способ решить эту проблему.
Я думаю, что вы можете сделать это с помощью интерфейса создать один интерфейс и расширить салфетки адаптер в нем, а затем реализовать этот интерфейс в адаптере чат ... – Vickyexpert
@Vickyexpert только сейчас я пытался использовать interface.But него не работает – Steve
@Naruto, пожалуйста, опишите свое требование больше. Вы хотите использовать список прокрутки меню? –