Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android編程入門 >> Android中使用listView代碼

Android中使用listView代碼

編輯:Android編程入門

Android初學者—listView用法

      我這次做了一個用android 獲取當前本地文件、文件夾,並顯示在listview上,點擊文件夾,顯示該文件夾下的文件和文件夾,希望各位大蝦們能指出我的錯誤^__^

具體代碼如下:

public class TestFileActivity extends ListActivity {

 

    private ArrayList<String> items = null;

    private ArrayList<String> paths = null;

    private String rootPath = "/";

    private TextView mPath;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        mPath = (TextView)findViewById(R.id.mPath);

        mPath.setTextColor(Color.RED);

        getFileDir(rootPath);

    }

    private void getFileDir(String filePath) {

        mPath.setText(filePath);

        

        items = new ArrayList<String>();

        paths = new ArrayList<String>();

        File file = new File(filePath);

        File[] files = file.listFiles();

        if(!filePath.equals(rootPath)) {

            items.add("Back To " + rootPath);

            paths.add(rootPath);

            items.add("Back to ../");

            paths.add(file.getParent());

        }

        for(File fileTemp :files) {

            items.add(fileTemp.getName());

            paths.add(fileTemp.getPath());

        }

     ArrayAdapter<String>adapter=new ArrayAdapter<String>(Test_fileActivity.this,R.layout.file_now,items);

        setListAdapter(adapter);

         }

    @Override

    protected void onListItemClick(ListView l, View v, int position, long id) {

        File file = new File(paths.get(position));

        if(file.canRead()) {

            if(file.isDirectory()) {

                getFileDir(paths.get(position));

            }else {

                new AlertDialog.Builder(this)

                .setTitle("Message")

                .setMessage("["+file.getName() + "] is a file")

                .setPositiveButton("ok", new DialogInterface.OnClickListener() {

                    

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        

                    }

                }).show();

                 

            }

        }

       else {

            new AlertDialog.Builder(this)

            .setTitle("Message")

            .setMessage("操作無效")

            .setPositiveButton("ok", new DialogInterface.OnClickListener() {

                

                @Override

                public void onClick(DialogInterface dialog, int which) {

                    

                }

            }).show();

            

        }

    }

     }

main.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView android:id="@+id/mPath"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

<ListView 

    android:id="@android:id/list"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

</ListView>

    

</LinearLayout>

file_now.xml:

<?xml version="1.0" encoding="utf-8"?>

<TextView

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:orientation="vertical"

  android:layout_width="match_parent"

  android:layout_height="20px"

  android:textSize="14sp"

  >

</TextView>

感悟:

  嘿嘿,是不是看了這麼多代碼很頭疼哪?不過還好吧,這只是其中的一小部分而已。在這個小測試中,我學到了file.list()是獲取文件下的列表,而file.canOpen()它是判斷是否可以打開,最後的file.getParent()方法是返回上一級。俺學Android將近半年了,學的東西屈指可數。以後可要認真學習道上的真正開發喲!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved