請問我想要出現兩筆資料 可是好像第二個會蓋到第一個的 請問我要怎麼改?
謝各位已找到解決方案,但收尋部分有點問題
錯誤代碼
Process: com.example.wells.ig, PID: 22224
java.lang.NullPointerException: Attempt to invoke virtual method 'android.widget.Filter android.widget.ArrayAdapter.getFilter()' on a null object reference
at com.example.wells.ig.nofood$1.onQueryTextChange(nofood.java:101)
程式碼:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nofood);
searchView = (SearchView)findViewById(R.id.searchView);
searchView.setIconifiedByDefault(false);// 關閉icon切換
searchView.setFocusable(false); // 不要進畫面就跳出輸入鍵盤
setSearch_function();
SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.nofood_use,
new String[]{"title","info","img"},
new int[]{R.id.title,R.id.info,R.id.img});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "巧克力(可致命)");
map.put("info", "它會使輸送部的血液流量減少,可能會造成心臟病和其他有致命威脅的問題。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "洋蔥(危險)");
map.put("info", "它對人體無害,卻會造成貓,狗,羊,馬,牛的紅血球氧化的危險。可能引發溶血性貧血(HemolyticAnemia)");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "肝臟(危險)");
map.put("info", "吃食少量的肝臟其實對狗是不錯的,但如果過量卻可能引起營養問題。因為肝含有高單位的維他命A,吸取太多的維他命A,可能會引起維他命A中毒或維他命A過多症。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "骨頭(危險)");
map.put("info", "不要餵食會碎裂的骨頭(如雞骨頭),骨頭碎片可能會刺入狗的喉嚨,或割傷狗的嘴巴,食道,胃或腸。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "生雞蛋(危險)");
map.put("info", "生蛋白含有一種卵白素的蛋白質,它會耗盡狗體內的維生素H。維生素H是狗生長及促進毛皮健康不可或缺的營養。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "生肉及家禽肉(危險~致命)");
map.put("info", "狗在野外雖會獵食動物,但他們的免疫系統卻無法適應人工科學飼養出的家禽及肉類。常見的2種毒素是家禽肉類中的沙門氏菌及肉類中的芽胞桿菌。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "豬肉(不建議餵食)");
map.put("info", "豬肉內的脂肪球比其他肉類還大。可能會阻塞了狗的微血管。避免豬製品,尤其是含有硝酸鈉的培垠、香腸。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "牛奶(不建議)");
map.put("info", "許多狗都有乳糖不適症,如果你的狗喝了牛奶後會出現放屁,腹瀉,脫水或皮膚發炎等徵狀,應停止餵食牛奶。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "菇類(不建議~致命)");
map.put("info", "市售的食用香菇,磨菇等對狗是無害的,但還是避免讓狗食用,以免到野外時誤食有毒茹類。");
map.put("img", R.drawable.no);
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "酒(建議不要)");
map.put("info", "易增加肝、腎負擔。");
map.put("img", R.drawable.no);
list.add(map);
return list;
}
private void setSearch_function() {
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return true;
}
});
}
}
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return true;
}
});
這裡的adapter要怎麼改??
xml
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view6" />
<ListView
android:id="@android:id/list"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/searchView" />
提示訊息很明顯了...大大
java.lang.NullPointerException: Attempt to invoke virtual method 'android.widget.Filter android.widget.ArrayAdapter.getFilter()' on a null object reference
ant1017 不太懂 我知道那裏有錯誤 可是我不知道怎麼改