2014-10-19 82 views
-1

好吧,所以我沒有足夠的空間標題來解釋這一點,但我有一個ListView與自定義適配器,並在子視圖我有一個textview。當我顯示一個警告對話框並單擊肯定按鈕時,我試圖更改該textview的可見性,並且我的代碼不會更改可見性。更改alertDialog上的textView正面按鈕的可見性

alert.setPositiveButton("Send", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        EditText editMsg = (EditText)view.findViewById(R.id.editMsg); 
        String msg = editMsg.getText().toString().trim(); 
        if (!msg.isEmpty()) { 
         // show message test 
         if (name.equals("Contact 0")) { 
          View v = listView.getAdapter().getView(0, null, null); 
          TextView tvMsg = (TextView)v.findViewById(R.id.tvMsg); 
          tvMsg.setText(msg); 
          tvMsg.setVisibility(View.VISIBLE); 
         } 
        } 
       } 
      }); 

是越來越被正確執行的代碼,是的,我一直試圖做的setText和adapter.notifyDataSetChanged,然後在adapter.getView改變的知名度,如果的getText> 0

似乎一切是正確的,它的v是正確的視圖,我可以閱讀其他子視圖來確認它的權利,setText正在工作,但setVisibility不是?爲什麼我無法更改可見性?

+0

究竟是什麼問題?您的文本現在是否可見或其他// – Akshay 2014-10-19 05:47:30

+0

首先,檢查您的文本顏色和列表視圖背景顏色是不同的。 – Akshay 2014-10-19 05:49:28

+0

問題是它不會變得可見。顏色不是問題。雖然欣賞了迴應。 – user1974977 2014-10-19 06:33:02

回答

0

我已經想通了。似乎問題在於調用listView.getAdapter()。getView()。

用listView.getChildAt(int pos)替換,一切正常。

1

因爲,當調用xml文件的適配器被再次初始化時,可能是TextView隱藏在您的xml文件中。所以,我的建議是:

把一個全局變量,說吧global_var;

將以下代碼寫入適配器的getView()方法。

if(global_var){ 
    tvMsg.setVisibility(View.VISIBLE); 
} else{ 
    tvMsg.setVisibility(View.GONE); 
} 

而在這個代碼:

alert.setPositiveButton("Send", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        EditText editMsg = (EditText)view.findViewById(R.id.editMsg); 
        String msg = editMsg.getText().toString().trim(); 
        if (!msg.isEmpty()) { 
         // show message test 
         if (name.equals("Contact 0")) { 
          ..... 
          ..... 
          global_var = true// or something; 
         } 
        } 
       } 
      }); 

最後調用此:

adapter.notifyDataSetChanged(); 

我認爲這會工作..

+0

我試過這個。不起作用。我忘記提及,我試圖在相對佈局中將這個textview覆蓋在圖像視圖上。也許這就是問題,今天會做更多的測試。 – user1974977 2014-10-19 16:59:45

相關問題