Ich möchte herausfinden, Benutzer von edittext angeben. Der Editiertext ist jedoch die erste Zeile der ListView. Wie kann ich das möglich machen?Wie kann ich Filter auf Listenansicht verwenden, wenn Sie etwas in Edittext in Android eingeben
public class ChatFragment extends Fragment {
private ListView chatListView;
private List<ChatItem> items;
private ChatAdapter chatAdapter;
public static ChatFragment newInstance(){
ChatFragment fragment = new ChatFragment();
return fragment;
}
@Override public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState){
View view = inflater.inflate(R.layout.chat_fragment, container, false);
chatListView = (ListView)view.findViewById(R.id.chatListView);
setupChatList();
chatListView.setTextFilterEnabled(true);
return view;
}
public void setupChatList(){
items = new ArrayList<>();
items.add(new ChatItem(1, "","","",""));
items.add(new ChatItem(2 ,"layer1", "Chloe Grace Moretz", "Approved your see post request!", "4 mins"));
items.add(new ChatItem(3 ,"layer2", "Robert Downey", "ok!", "16:19"));
items.add(new ChatItem(4 ,"layer3", "Amanda Crew", "haha", "19:01"));
items.add(new ChatItem(5 ,"layer4", "Noah Urrea", "Good choice ~ man", "Yesterday"));
items.add(new ChatItem(6 ,"layer5", "Blake Rayne", "Jason Papadopoulos I think", "Sunday"));
chatAdapter = new ChatAdapter(getContext(), items);
chatListView.setAdapter(chatAdapter);
}
public void remove(){
chatAdapter.remove(items.get(1));
}
}
Mein Adapter ist unten:
public class ChatAdapter extends ArrayAdapter<ChatItem> {
private List<ChatItem> items;
private List<ChatItem> filteredData = null;
private TextView chatNameTxt;
private TextView msgTxt;
private TextView msgTimeTxt;
private ImageView chatImg;
private ImageView chatMoreImg;
private Context context;
private ItemFilter filter = new ItemFilter();
private EditText findChat;
public ChatAdapter(Context context, List<ChatItem> items){
super(context, -1, items);
this.items = items;
this.context = context;
}
@Override public View getView(int position, View convertView, ViewGroup parent){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (position==0){
View item0 = inflater.inflate(R.layout.chat_list_view_item0, parent, false);
findChat = (EditText)item0.findViewById(R.id.findChat);
findChat.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
ChatFragment chatFragment = new ChatFragment();
chatFragment.remove();
}
});
return item0;
}else {
View item = inflater.inflate(R.layout.chat_list_view, parent, false);
chatNameTxt = (TextView) item.findViewById(R.id.chatNameTxt);
msgTxt = (TextView) item.findViewById(R.id.msgTxt);
msgTimeTxt = (TextView) item.findViewById(R.id.msgTimeTxt);
chatImg = (ImageView)item.findViewById(R.id.chatImg);
chatMoreImg = (ImageView)item.findViewById(R.id.chatMoreImg);
ChatItem friendItem = items.get(position);
String chatName = friendItem.getUserNmae();
String msg = friendItem.getLastMsg();
String msgTime = friendItem.getLastMsgTime();
String userImg = friendItem.getUserImageName();
chatImg.setImageResource(context.getResources().getIdentifier(userImg, "drawable", context.getPackageName()));
chatNameTxt.setText(chatName);
msgTxt.setText(msg);
msgTimeTxt.setText(msgTime);
return item;
}
}
}
beziehen Sie sich auf http://www.androidbegin.com/tutorial/android-search-listview-using-filter/ oder http://www.androidhive.info/2012/09/android-adding-search-functionality -to-listview/ –
Würde gerne wissen, was du getan hast !!!! – Riten
Fragen, die Hilfe benötigen, müssen * das gewünschte Verhalten *, * ein spezifisches Problem oder einen Fehler * und * den kürzesten erforderlichen Code * enthalten, um es ** in der Frage selbst zu reproduzieren **. Fragen ohne ** eine klare Problemstellung ** sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). –