Java 当我使用search editText和filter方法时,为什么我的应用程序会崩溃 这是我的代码
如何使过滤器工作? 这是我的ArrayaAdapterJava 当我使用search editText和filter方法时,为什么我的应用程序会崩溃 这是我的代码,java,android,android-studio,Java,Android,Android Studio,如何使过滤器工作? 这是我的ArrayaAdapter 请帮我纠正错误 活动类和arrayList: package com.example.android.emanprice; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.EditText; import android.widget.ListView; import java.util.Ar
请帮我纠正错误 活动类和arrayList:
package com.example.android.emanprice;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.TextView;
import java.util.Locale;
public class BabyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.word_list);
final ArrayList<Word> words = new ArrayList<Word>();
// Create an array of words
// Create a list of words
words.add(new Word("1050", "012 بيبي", R.drawable.ic_012_));
words.add(new Word("1250", "035بى بى", R.drawable.ic_035_));
words.add(new Word("1500", "1019 بيبي", R.drawable.ic_1019_));
words.add(new Word("1500", "1065 بيبي", R.drawable.ic_1065_));
words.add(new Word("1500", "1089 بيبي", R.drawable.ic_1089_));
words.add(new Word("1200", "1093 بيبي", R.drawable.ic_1093_));
words.add(new Word("1500", "1095 بيبي", R.drawable.ic_1095_));
words.add(new Word("1500", "1098 بيبي", R.drawable.ic_1098_));
words.add(new Word("1500", "1099 بيبي", R.drawable.ic_1099_));
words.add(new Word("1500", "1105 بيبي", R.drawable.ic_1105_));
words.add(new Word("900", "1602 بيبي", R.drawable.ic_1602_));
words.add(new Word("900", "1775 بيبي", R.drawable.ic_1775_));
words.add(new Word("900", "1783 بيبي", R.drawable.ic_1783_));
words.add(new Word("850", "1888 بيبي", R.drawable.ic_1888_));
words.add(new Word("1400", "2588B بيبي", R.drawable.ic_2588b_));
words.add(new Word("1400", "2715B بيبي", R.drawable.ic_2715b_));
words.add(new Word("1400", "2736B بيبي", R.drawable.ic_2736b_));
words.add(new Word("1500", "2738B بيبي", R.drawable.ic_2738b_));
words.add(new Word("1400", "2750B بيبي", R.drawable.ic_2750b_));
words.add(new Word("1100", "3003 بيبي", R.drawable.ic_3003_));
words.add(new Word("1100", "3005 بيبي", R.drawable.ic_3005_));
words.add(new Word("1100", "3023 بيبي", R.drawable.ic_3023_));
words.add(new Word("850", "353 بيبي", R.drawable.ic_353_));
words.add(new Word("1150", "505356636بيبي", R.drawable.ic_505356636));
words.add(new Word("1450", "609بي بي", R.drawable.ic_609_));
words.add(new Word("1500", "80-10 بيبي", R.drawable.ic_80_10_));
words.add(new Word("1350", "80-11 بيبي", R.drawable.ic_80_11_));
words.add(new Word("1450", "80-12 بيبي", R.drawable.ic_80_12_));
words.add(new Word("1450", "80-13 بيبي", R.drawable.ic_80_13_));
words.add(new Word("1450", "80-14 بيبي", R.drawable.ic_80_14_));
words.add(new Word("1450", "80-20 بيبي", R.drawable.ic_80_20_));
words.add(new Word("1200", "80-5 بيبي", R.drawable.ic_80_5_));
words.add(new Word("1350", "80-7 كنترة بيبي", R.drawable.ic_80_7__));
words.add(new Word("1400", "80-9 بيبي", R.drawable.ic_80_9_));
words.add(new Word("1100", "8362007 بيبي", R.drawable.ic_8362007_));
words.add(new Word("1100", "8371021 بيبي", R.drawable.ic_8371021_));
words.add(new Word("1600", "8802بيبي", R.drawable.ic_8802_));
words.add(new Word("1600", "9903بيبي", R.drawable.ic_9903));
words.add(new Word("1050", "AT3069 بيبي", R.drawable.ic_at3069_));
words.add(new Word("1250", "AT3120 بيبي", R.drawable.ic_at3120_));
words.add(new Word("1150", "B001 بيبي", R.drawable.ic_b001_));
words.add(new Word("1100", "B002 كنترة بيبي", R.drawable.ic_b002__));
words.add(new Word("950", "B011 بيبي", R.drawable.ic_b011_));
words.add(new Word("900", "B1625", R.drawable.ic_b1625));
words.add(new Word("1150", "B67 بيبي", R.drawable.ic_b67_));
words.add(new Word("1150", "B6715 بيبي", R.drawable.ic_b6715_));
words.add(new Word("1150", "B6716 كنترة بيبي", R.drawable.ic_b6716__));
words.add(new Word("950", "B6761 بيبي", R.drawable.ic_b6761_));
words.add(new Word("1100", "B6926 بيبي", R.drawable.ic_b6926_));
words.add(new Word("1250", "B7006 بيبي", R.drawable.ic_b7006_));
words.add(new Word("950", "B82 بيبي", R.drawable.ic_b82_));
words.add(new Word("1100", "B8712 بيبي", R.drawable.ic_b8712_));
words.add(new Word("1000", "B9003 كنترة بيبي", R.drawable.ic_b9003__));
words.add(new Word("1100", "B9015 كنترة بيبي", R.drawable.ic_b9015__));
words.add(new Word("1100", "B9018 كنترة بيبي", R.drawable.ic_b9018__));
words.add(new Word("1650", "BB16-1", R.drawable.ic_bb16_1));
words.add(new Word("1200", "H066 بيبي", R.drawable.ic_h066_));
words.add(new Word("1300", "KB16-81", R.drawable.ic_kb16_81));
words.add(new Word("1500", "KB16-98", R.drawable.ic_kb16_98));
words.add(new Word("1500", "KB18-105", R.drawable.ic_kb18_105));
words.add(new Word("1170", "KB18-107", R.drawable.ic_kb18_107));
words.add(new Word("1170", "KB18-108", R.drawable.ic_kb18_108));
words.add(new Word("1000", "KB18-111", R.drawable.ic_kb18_111));
words.add(new Word("1000", "KB18-112", R.drawable.ic_kb18_112));
words.add(new Word("1000", "KB18-113", R.drawable.ic_kb18_113));
words.add(new Word("1000", "KB18-114", R.drawable.ic_kb18_114));
words.add(new Word("1000", "KB18-115", R.drawable.ic_kb18_115));
words.add(new Word("1000", "KB18-115-1", R.drawable.ic_kb18_115_1));
words.add(new Word("1000", "KB18-116", R.drawable.ic_kb18_116));
words.add(new Word("1000", "KB18-116-1", R.drawable.ic_kb18_116_1));
words.add(new Word("1500", "KB18-120", R.drawable.ic_kb18_120));
words.add(new Word("1250", "L-18 بيبي", R.drawable.ic_l_18_));
words.add(new Word("1100", "MQ001 بيبي", R.drawable.ic_mq001_));
// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The
// adapter knows how to create list items for each item in the list.
final WordAdapter adapter = new WordAdapter(this, words, R.color.category_baby);
// Find the {@link ListView} object in the view hierarchy of the {@link Activity}.
// There should be a {@link ListView} with the view ID called list, which is declared in the
// word_list.xml file.
ListView listView = (ListView) findViewById(R.id.list);
// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the
// {@link ListView} will display list items for each {@link Word} in the list.
listView.setAdapter(adapter);
final EditText editText= findViewById(R.id.search);
editText.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) {
String text = editText.getText().toString().toUpperCase(Locale.getDefault());
adapter.filter(text);
}
});
}
}
package com.example.android.price;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.EditText;
导入android.widget.ListView;
导入java.util.ArrayList;
导入android.text.Editable;
导入android.text.TextWatcher;
导入android.widget.TextView;
导入java.util.Locale;
公共类BabyActivity扩展了AppCompative活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.word\u列表);
最终ArrayList单词=新ArrayList();
//创建一个单词数组
//创建一个单词列表
添加(新词“1050”、“012ببي”,R.drawable.icب012ب”);
添加(新词“1250”、“035بببى”,R.drawable.ic_035_609;);
添加(新词“1500”、“1019”和“R.drawable.ic”和“1019”);
添加(新词“1500”、“1065”和“R.drawable.ic”和“1065”);
添加(新词“1500”、“1089”和“R.drawable.ic”和“1089”);
添加(新词“1200”、“1093”和“R.drawable.ic”和“1093”);
添加(新词“1500”、“1095”和“R.drawable.ic”和“1095”);
添加(新词“1500”、“1098”和“R.drawable.ic”和“1098”);
添加(新词“1500”、“1099”和“R.drawable.ic”和“1099”);
添加(新词“1500”、“1105”和“R.drawable.ic”和“1105”);
添加(新词(“900”、“1602”和“R.drawable.ic”和“1602”);
添加(新词(“900”、“1775”和“R.drawable.ic”和“1775”);
加上(新词(“900”、“1783”和“R.drawable.ic”和“1783”);
添加(新词(“850”、“1888”和“R.drawable.ic”和“1888”);
添加(新词“1400”、“2588B”和“R.drawable.ic2588b”);
加上(新词“1400”、“2715B”和“R.drawable.ic”2715B);
添加(新词“1400”、“2736B”和“R.drawable.ic”2736B);
添加(新词“1500”、“2738Bببببي”,R.drawable.ic2738b);
添加(新词“1400”、“2750Bب㶖㶖ي”,R.drawable.ic_2750B));
添加(新词(“1100”、“3003”和“R.drawable.ic”和“3003”);
添加(新词“1100”、“3005”和“R.drawable.ic”3005);
添加(新词“1100”、“3023”和“R.drawable.ic”和“3023”);
添加(新词(“850”、“353”和“R.drawable.ic”和“353”);
添加(新词(“1150”、“505356636”、“R.drawable.ic5053566636”);
添加(新词(“1450”、“609بببي”,R.drawable.ic609));
加上(新词“1500”、“80-10”和“R.drawable.ic”和“80-10”);
添加(新词(“1350”、“80-11”和“R.drawable.ic”和“80-11”);
添加(新词(“1450”、“80-12”和“R.drawable.ic”和“80-12”);
添加(新词(“1450”、“80-13”和“R.drawable.ic”和“80-13”);
添加(新词(“1450”、“80-14”和“R.drawable.ic”和“80-14”);
添加(新词(“1450”、“80-20”和“R.drawable.ic”和“80-20”);
增加(新词“1200”、“80-5”和“R.drawable.ic”和“80-5”);
添加(新词(“1350”、“80-7كنتبببببي”,R.drawable.icنu 80(u 7));
新增(新词“1400”、“80-9”和“R.drawable.ic”和“80-9”);
加上(新词“1100”、“8362007”和“R.drawable.ic”和“8362007”);
添加(新词“1100”、“8371021”和“R.drawable.IC8371021”);
添加(新词(“1600”、“8802”和“R.drawable.ic”和“8802”);
添加(新词(“1600”、“9903”、“R.drawable.icب9903”);
添加(新词“1050”、“AT3069”、“R.drawable.ic”和“AT3069”);
添加(新词(“1250”、“AT3120”、“AT1610”、“R.drawable.ic”、“AT3120”);
添加(新词(“1150”、“B001”和“R.drawable.ic”和“B001”);
添加(新词“1100”、“B002كنت㶠㶖㶖㶖ي”,R.drawable.ic(u B002));
添加(新词(“950”、“B011”和“R.drawable.ic”和“B011”);
添加(新词(“900”,“B1625”,R.drawable.ic_B1625));
添加(新词(“1150”、“B67”和“R.drawable.ic”和“B67”);
新增(新词“1150”、“B6715”和“R.drawable.ic”和“B6715”);
添加(新词(“1150”、“B6716كنت㶠㶖㶖㶖ي”,R.drawable.ic(B6716));
添加(新单词(“950”、“B6761”和“R.drawable.ic”和“B6761”);
添加(新词(“1100”、“B6926”和“R.drawable.ic”和“B6926”);
添加(新词“1250”、“B7006”和“R.drawable.ic”和“B7006”);
添加(新词(“950”、“B82”和“R.drawable.ic”和“B82”);
加上(新词“1100”、“B8712”和“R.drawable.ic”和“B8712”);
加上(新词“1000”、“B9003”和“B9003”);
添加(新词“1100”、“B9015”和“B9015”);
添加(新词“1100”、“B9018”和“B9018”);
添加(新词(“1650”,“BB16-1”,R.drawable.ic_BB16_1));
添加(新词“1200”、“H066”和“R.drawable.ic”和“H066”);
添加(新词(“1300”,“KB16-81”,R.drawable.ic_KB16_81));
添加(新词(“1500”,“KB16-98”,R.drawable.ic_KB16_98));
添加(新词(“1500”,“KB18-105”,R.drawable.ic_KB18_105));
添加(新词(“1170”,“KB18-107”,R.drawable.ic_KB18_107));
添加(新词(“1170”,“KB18-108”,R.drawable.ic_KB18_108));
添加(新词(“1000”,“KB18-111”,R.drawable.ic_KB18_111));
添加(新词(“1000”,“KB18-112”,R.drawable.ic_KB18_112));
添加(新词(“1000”,“KB18-113”,R.drawable.ic_KB18_113));
添加(新词(“1000”,“KB18-114”,R.drawable.ic_KB18_114));
添加(新词(“1000”,“K
public void filter(String charText) {
charText = charText.toUpperCase(Locale.getDefault());
words.clear();
if (charText.length() == 0) {
words.addAll(wordListFull);
} else {
for (Word wp : words) {
if
(wp.getModelName().toLowerCase(Locale.getDefault()).contains(charText)) {
wordListFull.add(wp);
}
}
}
notifyDataSetChanged();
}
package com.example.android.emanprice;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.TextView;
import java.util.Locale;
public class BabyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.word_list);
final ArrayList<Word> words = new ArrayList<Word>();
// Create an array of words
// Create a list of words
words.add(new Word("1050", "012 بيبي", R.drawable.ic_012_));
words.add(new Word("1250", "035بى بى", R.drawable.ic_035_));
words.add(new Word("1500", "1019 بيبي", R.drawable.ic_1019_));
words.add(new Word("1500", "1065 بيبي", R.drawable.ic_1065_));
words.add(new Word("1500", "1089 بيبي", R.drawable.ic_1089_));
words.add(new Word("1200", "1093 بيبي", R.drawable.ic_1093_));
words.add(new Word("1500", "1095 بيبي", R.drawable.ic_1095_));
words.add(new Word("1500", "1098 بيبي", R.drawable.ic_1098_));
words.add(new Word("1500", "1099 بيبي", R.drawable.ic_1099_));
words.add(new Word("1500", "1105 بيبي", R.drawable.ic_1105_));
words.add(new Word("900", "1602 بيبي", R.drawable.ic_1602_));
words.add(new Word("900", "1775 بيبي", R.drawable.ic_1775_));
words.add(new Word("900", "1783 بيبي", R.drawable.ic_1783_));
words.add(new Word("850", "1888 بيبي", R.drawable.ic_1888_));
words.add(new Word("1400", "2588B بيبي", R.drawable.ic_2588b_));
words.add(new Word("1400", "2715B بيبي", R.drawable.ic_2715b_));
words.add(new Word("1400", "2736B بيبي", R.drawable.ic_2736b_));
words.add(new Word("1500", "2738B بيبي", R.drawable.ic_2738b_));
words.add(new Word("1400", "2750B بيبي", R.drawable.ic_2750b_));
words.add(new Word("1100", "3003 بيبي", R.drawable.ic_3003_));
words.add(new Word("1100", "3005 بيبي", R.drawable.ic_3005_));
words.add(new Word("1100", "3023 بيبي", R.drawable.ic_3023_));
words.add(new Word("850", "353 بيبي", R.drawable.ic_353_));
words.add(new Word("1150", "505356636بيبي", R.drawable.ic_505356636));
words.add(new Word("1450", "609بي بي", R.drawable.ic_609_));
words.add(new Word("1500", "80-10 بيبي", R.drawable.ic_80_10_));
words.add(new Word("1350", "80-11 بيبي", R.drawable.ic_80_11_));
words.add(new Word("1450", "80-12 بيبي", R.drawable.ic_80_12_));
words.add(new Word("1450", "80-13 بيبي", R.drawable.ic_80_13_));
words.add(new Word("1450", "80-14 بيبي", R.drawable.ic_80_14_));
words.add(new Word("1450", "80-20 بيبي", R.drawable.ic_80_20_));
words.add(new Word("1200", "80-5 بيبي", R.drawable.ic_80_5_));
words.add(new Word("1350", "80-7 كنترة بيبي", R.drawable.ic_80_7__));
words.add(new Word("1400", "80-9 بيبي", R.drawable.ic_80_9_));
words.add(new Word("1100", "8362007 بيبي", R.drawable.ic_8362007_));
words.add(new Word("1100", "8371021 بيبي", R.drawable.ic_8371021_));
words.add(new Word("1600", "8802بيبي", R.drawable.ic_8802_));
words.add(new Word("1600", "9903بيبي", R.drawable.ic_9903));
words.add(new Word("1050", "AT3069 بيبي", R.drawable.ic_at3069_));
words.add(new Word("1250", "AT3120 بيبي", R.drawable.ic_at3120_));
words.add(new Word("1150", "B001 بيبي", R.drawable.ic_b001_));
words.add(new Word("1100", "B002 كنترة بيبي", R.drawable.ic_b002__));
words.add(new Word("950", "B011 بيبي", R.drawable.ic_b011_));
words.add(new Word("900", "B1625", R.drawable.ic_b1625));
words.add(new Word("1150", "B67 بيبي", R.drawable.ic_b67_));
words.add(new Word("1150", "B6715 بيبي", R.drawable.ic_b6715_));
words.add(new Word("1150", "B6716 كنترة بيبي", R.drawable.ic_b6716__));
words.add(new Word("950", "B6761 بيبي", R.drawable.ic_b6761_));
words.add(new Word("1100", "B6926 بيبي", R.drawable.ic_b6926_));
words.add(new Word("1250", "B7006 بيبي", R.drawable.ic_b7006_));
words.add(new Word("950", "B82 بيبي", R.drawable.ic_b82_));
words.add(new Word("1100", "B8712 بيبي", R.drawable.ic_b8712_));
words.add(new Word("1000", "B9003 كنترة بيبي", R.drawable.ic_b9003__));
words.add(new Word("1100", "B9015 كنترة بيبي", R.drawable.ic_b9015__));
words.add(new Word("1100", "B9018 كنترة بيبي", R.drawable.ic_b9018__));
words.add(new Word("1650", "BB16-1", R.drawable.ic_bb16_1));
words.add(new Word("1200", "H066 بيبي", R.drawable.ic_h066_));
words.add(new Word("1300", "KB16-81", R.drawable.ic_kb16_81));
words.add(new Word("1500", "KB16-98", R.drawable.ic_kb16_98));
words.add(new Word("1500", "KB18-105", R.drawable.ic_kb18_105));
words.add(new Word("1170", "KB18-107", R.drawable.ic_kb18_107));
words.add(new Word("1170", "KB18-108", R.drawable.ic_kb18_108));
words.add(new Word("1000", "KB18-111", R.drawable.ic_kb18_111));
words.add(new Word("1000", "KB18-112", R.drawable.ic_kb18_112));
words.add(new Word("1000", "KB18-113", R.drawable.ic_kb18_113));
words.add(new Word("1000", "KB18-114", R.drawable.ic_kb18_114));
words.add(new Word("1000", "KB18-115", R.drawable.ic_kb18_115));
words.add(new Word("1000", "KB18-115-1", R.drawable.ic_kb18_115_1));
words.add(new Word("1000", "KB18-116", R.drawable.ic_kb18_116));
words.add(new Word("1000", "KB18-116-1", R.drawable.ic_kb18_116_1));
words.add(new Word("1500", "KB18-120", R.drawable.ic_kb18_120));
words.add(new Word("1250", "L-18 بيبي", R.drawable.ic_l_18_));
words.add(new Word("1100", "MQ001 بيبي", R.drawable.ic_mq001_));
// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The
// adapter knows how to create list items for each item in the list.
final WordAdapter adapter = new WordAdapter(this, words, R.color.category_baby);
// Find the {@link ListView} object in the view hierarchy of the {@link Activity}.
// There should be a {@link ListView} with the view ID called list, which is declared in the
// word_list.xml file.
ListView listView = (ListView) findViewById(R.id.list);
// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the
// {@link ListView} will display list items for each {@link Word} in the list.
listView.setAdapter(adapter);
final EditText editText= findViewById(R.id.search);
editText.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) {
String text = editText.getText().toString().toUpperCase(Locale.getDefault());
adapter.filter(text);
}
});
}
}
private ArrayList<Word> words = new ArrayList<Word>();
if (words != null) {
words.clear();
}