リストビューでフォルダをクリックすると、同じアクティビティでそのフォルダ内のファイルのリストが表示される関数を作成しようとしています。つまり、同じリストビューを異なるデータで更新します。私はデータベースに構造のようなディレクトリを構築し、それらからファイルとフォルダのリストを取得しました。
public class SkydriveFolderList extends Activity
{
ArrayList<String> filelist1=new ArrayList<String>();
ArrayList<String> filepath=new ArrayList<String>();
ArrayList<String> isfolder=new ArrayList<String>();
ArrayList<Integer> fileid=new ArrayList<Integer>();
ListView lv;
EditText et;
ArrayAdapter<SearchResults> arrayAdapter;
Button back;
TextView path;![enter image description here][1]
public void onCreate(Bundle SkydriveFolderList)
{
Intent i = getIntent();
filelist1 = i.getStringArrayListExtra("FileList");
filepath = i.getStringArrayListExtra("FilePath");
isfolder = i.getStringArrayListExtra("isFolder");
fileid = i.getIntegerArrayListExtra("FileId");
super.onCreate(SkydriveFolderList);
ArrayList<SearchResults> searchResults = GetSearchResults();
setContentView(R.layout.filelist);
lv = (ListView)findViewById(R.id.skydrive_list);
et=(EditText)findViewById(R.id.inputSearch);
path=(TextView)findViewById(R.id.filepath);
back=(Button)findViewById(R.id.back);
arrayAdapter =new ArrayAdapter<SearchResults>(this,android.R.layout.simple_list_item_1,searchResults);
// ((ListView) arrayAdapter).setAdapter();
lv.setAdapter(new MyCustomBaseAdapter(this, searchResults));
//lv.setAdapter(arrayAdapter);
et.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3)
{
// When user changed the Text
SkydriveFolderList.this.arrayAdapter.getFilter().filter(cs);
}
@Override
public void afterTextChanged(Editable arg0)
{
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3)
{
// TODO Auto-generated method stub
}
});
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
Object o = parent.getItemAtPosition(position);
SearchResults fullObject = (SearchResults)o;
// prestationEco str=(prestationEco)o;//As you are using Default String Adapter
Toast.makeText(getBaseContext(),fullObject.getFilename(),Toast.LENGTH_SHORT).show();
}
});
}
http://i.stack.imgur.com/QCIsr.png
アプリのスナップショットを確認するには、上記のリンクを確認してください。
その中で、ドキュメントフォルダをクリックすると、そのフォルダ内のファイルのリストでリストビューが更新されます。どうすればいいですか?