android 開源項目(二)可以左右拖動刪除、調換位置的的listview的 item的實現(drag-sort-listview)


             本次分享的是國外大牛們關於listView的一些牛逼方法的使用,外國的大牛真是牛掰,菜鳥無限佩服...            

            這個工程可以左右拖動刪除、調換位置的的listview的  item的實現,這個方法在iphone手機上應用還是挺廣泛的,android中也有這樣實現的,在android的開源項目中,那些牛逼的外國大牛們也分享了他們的開源項目,下面呢,就是小菜鳥學習在git代碼上借鑒那些外國大牛的源碼,由於水平有限,在git上下載下來的源碼無法導入Eclipse中直接運行,那么怎么解決這個問題呢,下面是菜鳥我的解決方法,大神們可以略過,如果有那個大神可以抽出空閑時間,教教小弟怎樣直接運行從Git下下載的工程,小弟感激不盡,這樣呢,小弟就不用用這樣笨拙的方法解決這個問題了,這個工程源碼的下載地址:   https://github.com/bauerca/drag-sort-listview

              實現的效果如下左右拖動刪除、

上下拖動調換位置




部分代碼實現的如下:

 

package com.nyist.net;

import java.util.ArrayList;
import java.util.Arrays;


import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Drag_Sort_ListViewDemoActivity extends ListActivity {

    //private ArrayAdapter<ActivityInfo> adapter;
    private MyAdapter adapter;

    private ArrayList<ActivityInfo> mActivities = null;

    private String[] mActTitles;
    private String[] mActDescs;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.launcher);

        try {
          PackageInfo pi = getPackageManager().getPackageInfo(
            "com.nyist.net", PackageManager.GET_ACTIVITIES);

          mActivities = new ArrayList<ActivityInfo>(Arrays.asList(pi.activities));
          String ourName = getClass().getName();
          for (int i = 0; i < mActivities.size(); ++i) {
              if (ourName.equals(mActivities.get(i).name)) {
                  mActivities.remove(i);
                  break;
              }
          }
        } catch (PackageManager.NameNotFoundException e) {
          // Do nothing. Adapter will be empty.
        }

        mActTitles = getResources().getStringArray(R.array.activity_titles);
        mActDescs = getResources().getStringArray(R.array.activity_descs);

        //adapter = new ArrayAdapter<ActivityInfo>(this,
        //  R.layout.launcher_item, R.id.text, mActivities);
        adapter = new MyAdapter();

        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
	    Intent intent = new Intent();
	    intent.setClassName(this, mActivities.get(position).name);
	    startActivity(intent);
    }

    private class MyAdapter extends ArrayAdapter<ActivityInfo> {
      MyAdapter() {
        super(Drag_Sort_ListViewDemoActivity.this, R.layout.launcher_item, R.id.activity_title, mActivities);
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        View v = super.getView(position, convertView, parent);

        TextView title = (TextView) v.findViewById(R.id.activity_title);
        TextView desc = (TextView) v.findViewById(R.id.activity_desc);

        title.setText(mActTitles[position]);
        desc.setText(mActDescs[position]);
        return v;
      }

    }

}


 

 

想要源碼的可以留個郵箱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM