I want to get folder from SDcard which have multiple images.
I have done to get all folder but i want to get folder which have images.
Here is my activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
tools:context="com.domore.folderlist.MainActivity">
<!--<ListView-->
<!--android:id="@+id/listview"-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="wrap_content">-->
<!--</ListView>-->
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:numColumns="2"
android:stretchMode="columnWidth" >
</GridView>
</LinearLayout>
Here, is my MainActivity.java
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private File file;
private List<String> myList;
private ArrayAdapter adapter;
GridView listview;
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
File temp_file=new File(file,myList.get(position));
if(!temp_file.isFile()) {
file = new File(file, myList.get(position));
Log.e("CLICK PATH",""+file);
File list[] = file.listFiles();
myList.clear();
for (int i = 0; i < list.length; i++) {
myList.add(list[i].getName());
}
//adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, myList);
listview.setAdapter(adapter);
// listview.setAdapter(new ImageAdapter(this,myList));
}
}
@Override
public void onBackPressed() {
// super.onBackPressed();
String parent = file.getParent().toString();
Log.e("PATH",parent);
file = new File(parent) ;
File list[] = file.listFiles();
myList.clear();
for( int i=0; i< list.length; i++)
{
myList.add( list[i].getName() );
}
// listview.setAdapter(new ImageAdapter(this,myList));
adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,myList);
listview.setAdapter(adapter);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(GridView)findViewById(R.id.gridview);
myList=new ArrayList<String>();
String root_sd= Environment.getExternalStorageDirectory().getPath().toString();
Log.e("PATH",""+root_sd);
file=new File(root_sd);
File list[]=file.listFiles();
for(int i=0;i<list.length;i++){
myList.add(list[i].getName());
}
adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,myList);
listview.setAdapter(adapter);
// listview.setAdapter(new ImageAdapter(this,myList));
listview.setOnItemClickListener(this);
}
}
Please, help me to solve out