2012-10-01 3 views
0

내가는 follwwing 브라우저 코드 http://www.remwebdevelopment.com/dev/a34/Directory-Browser-Application.html안드로이드 찾아보기 파일 코드

난 그냥 ouptut 여기에 빈 텍스트보기를 얻고을 구현하기 위해 노력하고 그리고 난은 browser.What 내가 잘못하고있는 중이 야 표시되지 않습니다 여기

public class File_browse extends Activity { 
private List<String> items = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_file_browse); 
    getFiles(new File("/").listFiles()); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_file_browse, menu); 
    return true; 
} 

protected void onListItemClick(ListView l, View v, int position, long id){ 
    int selectedRow = (int)id; 
    if(selectedRow == 0){ 
     getFiles(new File("/").listFiles()); 
    }else{ 
     File file = new File(items.get(selectedRow)); 
     if(file.isDirectory()){ 
      getFiles(file.listFiles()); 
     }else{ 
      new AlertDialog.Builder(this) 
      .setTitle("This file is not a directory") 
      .setNeutralButton("OK", new DialogInterface.OnClickListener(){ 
       public void onClick(DialogInterface dialog, int button){ 
        //do nothing 
       } 
      }).show(); 
      //Toast.makeText(this, "This file is not a directory" + position, Toast.LENGTH_SHORT).show(); 
     } 
    } 
} 
private void getFiles(File[] files){ 
    Toast.makeText(this, "In get files" , Toast.LENGTH_SHORT).show(); 
    items = new ArrayList<String>(); 
    items.add(getString(R.string.app_name)); 
    for(File file : files){ 
     items.add(file.getPath()); 
    } 
    ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_list_row, items); 
    ArrayAdapter adp = new ArrayAdapter(File_browse.this, android.R.layout.simple_list_item_1); 
    ListView mainlist = null; 
    mainlist.setAdapter(adp); 
    mainlist.setTextFilterEnabled(true); 

} 




} 

main.xml에

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<ListView android:id="@android:id/list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

<!-- <TextView 
    android:id="@android:id/empty" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:padding="@dimen/padding_medium" 
    android:text="@string/hello_world" 
    tools:context=".File_browse" />--> 


</RelativeLayout> 

file_list_row.xml는

을 activity_file_browse.xml 옆에 그것은 가장 가능성이 어댑터의 fileList를 사용하지 않습니다/

이 충돌 있도록

<?xml version="1.0" encoding="utf-8"?> 
<TextView android:id="@+id/text1" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/> 
+0

당신의 SD 카드 데이터를 검색 하시겠습니까? – Harish

+0

예 휴대 전화 및 SD 카드 데이터 모두 – Rajeev

답변

2

1/mainList 그래서 아무데도 당신이 실제로 어댑터에서 파일 이름 목록을 사용하지, null의

3/ADP 아무튼 어떤 내용도 제공하지 않으므로 아무 것도 포함하지 않습니다. 목록의 이름이 @android : id/list라면 ListActivity를 확장하고 싶습니까? 그것은 기본적 죽은 코드

그래서, (당신이 ListActivity를 확장하지 않는 한)

5/onListItemClick가 호출되지 않으며 아무 것도 무시 않습니다 6/File_browse는 자바 형식의 명명 규칙을 존중 FileBrowse을 지정해야합니다

.

관련 문제