2013-10-19 121 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! –