2013-06-28 195 views
0

我正在開發android項目。在我的應用程序中,我從php webservice獲取數據。我將我的數據添加到不同的數組列表並將它們設置爲listadapter。但我的問題是需要很長時間才能在列表中顯示數據。因此,現在我想顯示前10項,並希望在屏幕底部保留一個加載按鈕。點擊加載更多按鈕後,需要顯示接下來的10個項目。請任何人都可以在這方面幫助我。我非常感謝這個幫助。 預先感謝您。在android中添加加載更多按鈕到列表視圖

代碼:

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main1); 

     Longop op = new Longop(); 
      op.execute(""); 
    } 


public void loadSomeDummyData() { 

     try { 

      response = CustomHttpClient 
        .executeHttpPost(
          "http://website.com/folder/testfile.php", 
          postParameters); 

      for (int i = 1; i < arr1.length - 1; i++) { 

       id.add(new String(arr[0])); 
       name.add(new String(arr[1])); 
       dateofbirth.add(new String(arr[2])); 
       status.add(new String(arr[3])); 

      } 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 


    private class Longop extends AsyncTask<String, Void, String> { 

     @Override 
     protected String doInBackground(String... params) { 

      loadSomeDummyData(); 
      return "Executed"; 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      mdialog.dismiss(); 

      myListView.setAdapter(new MyArrayAdapter(Sample.this, 
         R.layout.list, id, name, dateofbirth, 
         status)); 
      } 

     @Override 
     protected void onPreExecute() { 
      mdialog = ProgressDialog.show(Sample.this, "Please wait...", 
        "Retrieving data ...", true); 
     } 

     @Override 
     protected void onProgressUpdate(Void... values) { 
     } 
    } 



    private class MyArrayAdapter extends ArrayAdapter<String> { 

     // this list hold the data that we will see in listview 
     private List<String> myData = new ArrayList<String>(); 
     private List<String> myData1 = new ArrayList<String>(); 
     private List<String> myData2 = new ArrayList<String>(); 
     private List<String> myData3 = new ArrayList<String>(); 


     public MyArrayAdapter(Context context, int textViewResourceId, 
       List<String> objects, List<String> objects1, 
       List<String> objects2, List<String> objects3) { 
      super(context, textViewResourceId, objects); 
      // TODO Auto-generated constructor stub 

      context = getContext(); 

      myData = objects; 
      myData1 = objects1; 
      myData2 = objects2; 
      myData3 = objects3; 
      } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      // TODO Auto-generated method stub 

      View v = convertView; 

      if (v == null) { 

       LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       v = inflater.inflate(R.layout.list, null); 
       // Log.d(EKSI, "Getting the inflater from the system context"); 
      } 

      String sid = myData.get(position); 
      String sname = myData1.get(position); 
      String dob = myData2.get(position); 
      String sstatus = myData3.get(position); 


       TextView entryTextView = (TextView) v.findViewById(R.id.id1); 

       entryTextView.setText(sid); 


       TextView entryTextView1 = (TextView) v 
         .findViewById(R.id.id2); 
       entryTextView1.setText(sname); 


       TextView entryTextView2 = (TextView) v 
         .findViewById(R.id.id3); 
       entryTextView2.setText(dob); 


       TextView entryTextView3 = (TextView) v 
         .findViewById(R.id.id4); 
       entryTextView3.setText(sstatus); 

      return v; 
     } 
    } 
+0

你得到的答案amrutha.I我還停留在this..can你的幫助我這個http://android.stackexchange.com/questions/96576/how-to-display-required-data-from-json – 2015-01-22 10:26:24

回答

0

我實現這個功能不是基於ListView,可以做到這一點;

  • 自定義加載視圖,覆蓋onDraw menthod

  • 在的LinearLayout視圖的末尾添加加載視圖。當顯示加載視圖時,它應該調用一些方法通過HTTP從服務器獲取數據。

0

你只需要一個膨脹中的XML

lstView.addFooterView(R.layout.footer); 

和處理的onclick居住在頁腳按鈕

相關問題