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 方法的第一行和最后一行。您已经在名为“布局”的视图对象中膨胀了 R.layout.main。您已在该布局中设置您的操作。最后,您返回了该视图的一个新实例。因此,您以前的代码变得毫无用处。因此,您的退货声明将是...

return layout ;

它应该可以解决问题。

于 2013-10-19T02:54:48.967 回答