-1
내 listview에서 검색 표시 줄을 구현했지만 이제 내 결과를 어떻게 표시 할 수 있습니까? (내 서버에서 호스팅되는) xml 파일에서 값을 가져옵니다.이 파일에서 검색 할 수있는 방법이 있습니다. 결과를 보여 주시겠습니까? 내 아이디어는 첫 번째 문자에서 검색Android리스트 뷰의 특정 항목 검색
내 listview에서 검색 표시 줄을 구현했지만 이제 내 결과를 어떻게 표시 할 수 있습니까? (내 서버에서 호스팅되는) xml 파일에서 값을 가져옵니다.이 파일에서 검색 할 수있는 방법이 있습니다. 결과를 보여 주시겠습니까? 내 아이디어는 첫 번째 문자에서 검색Android리스트 뷰의 특정 항목 검색
유용하지만, 내 XML 파일은 자주이 방법을 사용할 수 없습니다, 내 목록보기를 입력하는 동안 그 결과를 보여줄 필요가 (예를 들어, 액션 바를 사용) 스크립트입니다.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the view from listview_main.xml
setContentView(R.layout.listview_main);
// Execute DownloadXML AsyncTask
new DownloadXML().execute();
}
// DownloadXML AsyncTask
private class DownloadXML extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
// Create a progressdialog
mProgressDialog = new ProgressDialog(MainActivity.this);
//Disable dismiss ultil load end
mProgressDialog.setCanceledOnTouchOutside(false);
// Set progressdialog message
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
// Show progressdialog
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
// Retrieve nodes from the given URL address
String xml = parser.getXmlFromUrl("http://192.172.11.18/prova/xmlparseimgtxt.xml");
// Retrive DOM element
Document doc = parser.getDomElement(xml);
try {
// Identify the element tag name
NodeList nl = doc.getElementsByTagName("my_elements");
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// adding each child node to HashMap key => value
map.put(zeroElement, parser.getValue(e, zeroElement));
map.put(firstElement, parser.getValue(e, firstElement));
map.put(secondElement, parser.getValue(e, secondElement));
map.put(thirdElement, parser.getValue(e, thirdElement));
map.put(fourthElement, parser.getValue(e, fourthElement));
// adding HashList to ArrayList
arraylist.add(map);
}
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void args) {
// Locate the listview in listview_main.xml
listview = (ListView) findViewById(R.id.listview);
// Pass the results into ListViewAdapter.java
adapter = new ListViewAdapter(MainActivity.this, arraylist);
// Binds the Adapter to the ListView
listview.setAdapter(adapter);
// Close the progressdialog
mProgressDialog.dismiss();
}
}