[英]Buttons in android : Visible, Invisible, Gone
我正在開發 android 應用程序,需要定義自定義按鈕。
最初,我將按鈕設置為不可見。
我想執行一個特定的方法,並檢查一個字符串值。 如果它返回 null 值,那么按鈕應該仍然不可見。 如果它返回一些字符串值,我想調用按鈕並執行一些任務。
這是我嘗試過的,但失敗了。
當代碼值返回 Null 時,我的應用程序崩潰,並出現錯誤:“嘗試調用虛擬方法”
public String code = "";
Button startbtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retrieve_visits);
startbtn = findViewById(R.id.videobutton);
startbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//code
}
});
//more code here
}
public void parseData(String response)
{
try {
JSONObject json = new JSONObject(response);
JSONArray data = json.getJSONArray("data");
for (int i = 0; i < data.length(); i++)
{
JSONObject child = data.getJSONObject(i);
code = child.getString("code");
}
if(data.length()==0) ////check for empty array
startbtn.setVisibility(View.INVISIBLE);
else
startbtn.setVisibility(View.VISIBLE);
}
catch (Exception e) {
e.printStackTrace();
}
}
試試下面的代碼
if (code != null && !code.equels("")
{
startbtn.setVisibility(View.VISIBLE);
}
else
{
startbtn.setVisibility(View.GONE);
}
startbtn.setOnClickListener(new View.OnClickListener() {
//Required action
}
android中可以通過三種方式設置按鈕:1. VISIBLE 2. INVISIBLE 3. GONE
使用button.INVISIBLE
隱藏按鈕而不是button.GONE
,因為后者從視圖中刪除按鈕而不是隱藏。 這就是您收到 null 指針異常的原因。
你可以試試下面的代碼:
if (code == null || code.equals("")
{
startbtn.setVisibility(View.INVISIBLE);
}
else
{
startbtn.setVisibility(View.VISIBLE);
}
如果代碼中的值為 null 或為空,我們將按鈕設置為不可見,否則它將可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.