私の作業タスクはsdカードファイルを読み取ることであり、textview上の場所ですべてのsdcardファイルを表示したいのですが、私のコードは正常に読み取られていますが、解決策runonuithreadを見つけた後、ファイルの読み取りが機能していないときにtextviewテキストを更新できませんが、それも機能していません。私のコードを以下に示します。
public void scan (final File path) {
try
{
for (final File f : path.listFiles()) {
if (f.isFile()) {
scannedfiles=scannedfiles+1;
progresspercentage=scannedfiles*100/FilesCount;
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
lbl_scan.setText("SCANING:"+f.getAbsolutePath());\\first time only change text after didn't change
Toast.makeText(getApplicationContext(),"Files:"+f.getAbsolutePath(),Toast.LENGTH_SHORT).show();
}
});
}
else {
if(!f.getName().equals("Android"))
{
scan(f);
}
}
}
}
catch (Exception e)
{
}
}
私はコードの下のスキャン関数を呼び出しています:
File root = new File (Environment.getExternalStorageDirectory().getAbsolutePath());
scan(root);
誰かが私を大いに感謝するのを手伝ってくれますか?