2013-03-05 67 views
1

我有eache認爲我可以點擊對話框裏面和文字。 我希望所有的視圖都是可點擊的,只有文字。如何使對話框中的整個視圖可點擊?

代碼:

 final Dialog dialog = new Dialog(List_Lists.this); 
     dialog.setContentView(R.layout.dialog_edit_tables); 
     dialog.setTitle("Action for " + table); 


     TextView delete = (TextView) dialog 
       .findViewById(R.id.tvDeleteTable); 
     TextView cancel = (TextView) dialog.findViewById(R.id.tvCancel); 

     OnClickListener l = new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       dbAdapter = new DBmethods(getApplicationContext()); 
       switch (v.getId()) { 


       case R.id.tvDeleteTable: 
        viewListsAdapter.listsV.remove(pos); 
        dbAdapter.deleteTable(table); 
        break; 
       case R.id.tvCancel: 
        dialog.dismiss(); 
        break; 
       case R.id.bTableRenameName: 

        if(dbAdapter.checkTableNameOK(List_Lists.this ,newName.getText().toString())){ 

         viewListsAdapter.listsV.remove(pos); 
         viewListsAdapter.listsV.add(pos, newName.getText().toString().trim()); 
         dbAdapter.renameTable(table , newName.getText().toString().trim()); 
         renamedialog.dismiss(); 
        }; 

        break; 

       default: 
        break; 
       } 
       // if button is clicked, close the custom dialog 
       dialog.dismiss(); 
       lv.invalidateViews(); 
      } 
     }; 

     delete.setOnClickListener(l); 
     cancel.setOnClickListener(l); 

     dialog.show(); 
    } 
}); 

}

正如我所說的這個代碼正常工作,如果在視圖中的文本用戶按下,但空觀點顯然不會作出迴應。謝謝 !

if user press on red spot it activate the enter , if green than duplicate and so on

如果紅色斑點用戶按下它激活的輸入,如果綠色不是重複等等...當前狀態爲u必須按上的字,如果u按上的彩色斑點它什麼都不做

+0

很抱歉,但我沒有得到你 – Pragnani 2013-03-05 12:41:16

+0

進行佈局可點擊@Jesus Dimrix – duggu 2013-03-05 12:41:28

+0

我有看法和文本的每個視圖內對話框。我想在按特定視圖時執行操作。在這個對話框中,我必須按下視圖中的文字。希望我的「M解釋正確 – 2013-03-05 12:46:15

回答

1

如果我不是錯誤,你需要這使得佈局點擊

嘗試這樣的事情 您可以在其上添加一個OnClickListener:

//onCreate 
LinearLayout layout = (LinearLayout) findViewById(R.id.LinearLayout01); 
layout.setOnClickListener(yourOnClickListener); 

應該是工作;)

0

創建dialog_edit_tables

放過一個id說android:[email protected]+id\testing在XML。

現在寫這篇

LinearLayout yourlayout = (LinearLayout) findViewById(R.id.testing); 
yourlayout.setOnClickListener(l); 

希望這將有助於。

+0

你的答案是偉大的,但我missexplained我想要什麼。我添加圖片的問題。 感謝您的幫助 – 2013-03-05 13:21:18

0

您還沒有顯示的XML佈局,但設置了可點擊文本視圖FILL_PARENT的寬度應該工作,還要確保你的父母的佈局也有設置寬度爲FILL_PARENT。

onClickListener不是基於它基於實際組件的文本,因此它看起來好像將layout_width屬性設置爲wrap_content,所以組件僅僅是文本的長度,因此只有文本是,可點擊。希望這是有道理的。

0

如果我沒看錯的不是您正在使用listviewtableview顯示文本。
你可以做一件事。
讓TextView的layout_widthfill_parent
這樣,你就可以得到您所標記的地方聯繫。
希望這會有所幫助。

相關問題