0

フラグメントがあり、アプリの部分的なコードは次のとおりです。

mFrame3 =  (RelativeLayout) inflater.inflate( R.layout.ptrip, container, false ); //display if file exist
noFilesDisplayed = (RelativeLayout) inflater.inflate(R.layout.nofile, container, false); //display if file doesn't exist

if (FilesInFolder != null) { //function to check if any file exist
    mFrame3.findViewById(R.layout.ptrip).setVisibility(View.VISIBLE); //display this layout
    noFilesDisplayed.findViewById(R.layout.nofile).setVisibility(View.GONE); //hide this layout
}
else {
    mFrame3.findViewById(R.layout.ptrip).setVisibility(View.GONE);
    noFilesDisplayed.findViewById(R.layout.nofile).setVisibility(View.VISIBLE);
}

それが最善の方法かどうかはわかりませんが、ディレクトリにmFrame3RelativeLayout XML ファイルを表示して非表示にするファイルがあるかどうかはわかりません。noFilesDisplayedそれ以外の場合は、noFilesDisplayedRelativeLayout XML ファイルを表示して非表示にしmFrame3ます。

4

2 に答える 2

0

「mFrame3」または「noFilesDisplayed」ビュー全体を表示/非表示にする場合は、mFrame3.setVisibility() および noFilesDisplayed.setVisibility()... を呼び出すだけです。

于 2013-08-06T13:28:22.737 に答える
0

これがフラグメントのライフ サイクルごとに 1 回発生する場合は、onCreateView関数内でそれを行い、表示レイアウトと非表示レイアウトの両方をインフレートしないでください。

于 2013-08-06T13:14:01.680 に答える