2013-10-19 94 views
0

我在PageViewer中有一些片段。 在主要片段中,如果没有连接,我想显示一个组件(TextView或imageView)。 在下面的代码中,我可以达到我的textview,但我无法让它们消失。更改片段中的TextView可见性

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); 
} 

我该怎么办?

回答

2

为了让您的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 ; 

它应该解决问题。

+0

问题不是逻辑,问题是我无法更新可视性!我更新了代码,但它仍然没有设置可见性:( –

+0

查看我的更新回答。 – ayon

+0

问题解决!Tx! –