2013-02-06 16 views
0

如何搜索android表格佈局中動態創建的行?我有一個表格佈局,其中包含名稱和代碼作爲列,我如何搜索這些行的特定名稱/代碼?如何搜索tablelay動態創建的行?

我想以這種方式添加標籤:

TextView empFirstName = null; 
    int i,j; 
    for (i=0; i<employees.size();i++){ 

     final Employee employee = (Employee) employees.get(i); 

     int count = 0; 

     TableRow empData = new TableRow(this); 
     empData.setId(300+count); 
     empData.setClickable(true); 


     /*empData.setLayoutParams(new LayoutParams(
       LayoutParams.MATCH_PARENT, 
       LayoutParams.MATCH_PARENT));*/ 
     //tr.setClickable(true); 

     final TextView empCode = new TextView(this); 
     empCode.setId(300+count); 
     empCode.setText(employee.getCode()); 
     empCode.setTextSize(16); 
     empCode.setPadding(2,2, 2, 2); 
     empCode.setLayoutParams(new TableRow.LayoutParams(0, android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 2)); 
     empData.addView(empCode); 


     final TextView empName = new TextView(this); 
     empName.setId(300+count); 
     empName.setText(employee.getCallName()); 
     empName.setTextSize(16); 
     empName.setPadding(2, 2, 2, 2); 
     empName.setLayoutParams(new TableRow.LayoutParams(0, android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 4)); 
     empData.addView(empName); 

     empFirstName = new TextView(this); 
     empFirstName.setId(007); 
     empFirstName.setText(employee.getFirstName()); 
     empFirstName.setTag(i); 

}

我試圖以獲取名稱是這樣的:

for(j=0;j<=i;j++){ 

     TextView names = (TextView) empFirstName.getTag(j); 
     System.out.println("Name is "+names.getText()); 

    } 

但它拋出空指針異常!

回答

0

您可以在創建每個視圖時爲其設置標籤,並在需要時稍後比較標籤。

0

您想要搜索行或行的內容嗎?如果它的行然後爲該行設置標籤。例如:

row.setTag(SomeTag); 

在res/values下定義一個ids文件。加入這個到:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="sample_key" /> 
</resources> 

在java文件ref。它是這樣的:

String sampleKey = "This is a sample key"; 
textView.setTag(R.id.sample_key, sampleKey); 

String returnedString = (String) textView.getTag(R.id.sample_key); 
+0

我需要搜索該行的內容。情況是我有一個表佈局,併爲每行包含名稱和他的代碼。有一個編輯文本視圖,我可以在其中輸入他的名字並在表格佈局中搜索他。 –

+0

您可以爲textview添加具有名稱和代碼的標籤。然後使用textview.getTag(somekey),然後執行textview.getText(); – lokoko

+0

能否請您詳細解釋一下!我無法檢索與該標籤關聯的文本! –