ファイル選択アクティビティ ( Activity + ListView + 拡張子フィルタ )
解説
ファイル選択アクティビティ ( Activity + ListView ) で作成したファイル選択アクティビティは、すべてのファイルが表示されていました。これに拡張子による表示フィルタの機能を追加します。
    
    実現方法としては、ファイル選択アクティビティクラスのshow関数内での、ファイルリストの生成の処理に、拡張子による選り分けの処理を追加します。
    
    
実装
プロジェクトの作成
「FileSelectionActivityExtFilterTest」という名のプロジェクトを作成し、ファイル選択アクティビティ ( Activity + ListView ) と同内容のプログラムを実装します。
ファイル選択アクティビティクラスの修正
ファイル選択アクティビティクラスのshow関数内での、ファイルリストの生成の処理に、拡張子による選り分けの処理を追加します。
    
    修正点としては、
    ・クラスメンバ変数に、フィルタ拡張子配列変数を追加。
    ・onCreate関数での呼び出し元からのパラメータ取得として、フィルタ拡張子文字列を受け取れるように変更。
    ・onCreate関数に、受け取ったファイル拡張子文字列を、トークン分割し、フィルタ拡張子配列にする処理を追加。
    ・fill関数内の、File#listFiles関数の引数に、FileFilterオブジェクトの生成関数呼び出しを追加。
    ・fill関数の下に、FileFilterオブジェクトの生成関数の定義を追加。
    
    
    
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
リビルドし、エラー、警告がないことを確認します。
メインアクティビティクラスの修正
ファイル選択アクティビティの修正にあわせて、メインアクティビティでの、ファイル選択アクティビティ呼び出しの処理を修正します。
    
    onOptionsItemSelected関数内の、ファイル選択アクティビティのインテントに、フィルタ拡張子文字列パラメータの付与を追加します(たとえば、「"jpg;
    xml"」を追加します)。
    
    
    
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
リビルドし、エラー、警告がないことを確認します。
実行
Android端末にて、動作確認。
    
    拡張子フィルタあり(フィルタ拡張子として「jpg; xml」を指定)の場合
    (ディレクトリと、拡張子が、jpgもしくはxmlのファイルがリストされます)
    
    
    拡張子フィルタなしの場合
    (すべてのファイルがリストされます。)
    (拡張子フィルタありの場合は、txtファイルはリストされていませんが、
     拡張子フィルタなしの場合は、txtファイルもリストされています。)
    
ダウンロード
テストプロジェクト
    (github.com上のリポジトリページ)
関連ページ
ファイル選択ダイアログ ( AlertDialog + ListView )
    
    ファイル選択ダイアログ ( AlertDialog + ListView + 拡張子フィルタ )
    
    ファイル選択ダイアログ ( AlertDialog + ListView + 拡張子フィルタ + 複数ファイル選択 )
    
    ファイル選択アクティビティ ( Activity + ListView )
    
    ファイル選択アクティビティ ( Activity + ListView + 拡張子フィルタ ) - 本ページ
    
    ファイル選択アクティビティ ( Activity + ListView + 拡張子フィルタ + 複数ファイル選択 )

