我的PageViewer中有一些片段。 在主片段中,如果没有连接,我想显示一个组件(TextView或imageView)。 在下面的代码中,我可以访问我的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);
}
我该怎么办?
答案 0 :(得分: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方法的第一行和最后一行。你在View对象中夸大了你的R.layout.main,名为" layout"。您已在该布局中设置操作。最后,您返回了该视图的新实例。所以,你以前的代码变得毫无用处。所以,你的退货声明将是......
return layout ;
它应该解决问题。