0

PageViewer にいくつかのフラグメントがあります。メイン フラグメントでは、接続がない場合にコンポーネント ( TextView または imageView ) を表示したいと思います。以下のコードでは、テキストビューにアクセスできますが、それらを非表示にすることはできません。

public class MainFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View layout = inflater.inflate(R.layout.main, container, false);


//      RelativeLayout mainLayout = (RelativeLayout)findViewById(R.layout.main);
    TextView TxtIsNotConnected = (TextView) layout.findViewById(R.id.isNotConnected);
    TextView TxtIsConnected = (TextView) layout.findViewById(R.id.isConnected);
//      String text = TxtIsNotConnected.getText().toString(); // This is a test which works, return the text o my textview.
    boolean isConnected = ConnectivityUtils.isConnected(getActivity()); // This Works fine
    if (!isConnected) TxtIsNotConnected.setVisibility(View.VISIBLE); // NOT WORKING
    else              TxtIsConnected.setVisibility(View.VISIBLE); // NOT WORKING

    return inflater.inflate(R.layout.main, container, false);
}

どうしよう???

4

1 に答える 1

3

TextView を表示するには

yourTextView.setVisibility(View.VISIBLE);

非表示にするには

yourTextView.setVisibility(View.GONE);

あなたのコードから、あるビューを表示し、別のビューを非表示にしておく必要があるようです。だから、これを試してください

if (!isConnected) {
TxtIsNotConnected.setVisibility(View.VISIBLE);
TxtIsConnected.setVisibility(View.GONE);
} else {
   TxtIsConnected.setVisibility(View.VISIBLE); 
    TxtIsNotConnected.setVisibility(View.GONE);

}

それが役に立てば幸い...

編集:あなたのコードは可視性については正しいですが、愚かな間違いを犯したため、コードが機能していないようです。onCreateView メソッドの最初の行と最後の行を見てください。「レイアウト」と呼ばれるViewオブジェクトでR.layout.mainを膨らませました。そのレイアウト内でアクションを設定しました。最後に、そのビューの新しいインスタンスを返しました。したがって、以前のコードは役に立たなくなりました。したがって、返品ステートメントは...

return layout ;

問題は解決するはずです。

于 2013-10-19T02:54:48.967 に答える