2011-02-15 30 views
0

那麼,有沒有簡單的方法來確定點擊的表格? 我有一個靜態數據,如菜單tablelayout。當用戶點擊任何表格時,我想開始指定的活動。 我已經搜索了幾個小時,但每個人似乎都使用tablerows文本屬性中的視圖來識別它,如果您翻譯該應用程序,這很糟糕。我試圖找到TableLayouit的getIndex屬性,但沒有運氣,並且views .getId屬性是無用的。android identify tablerow

我想解決方案是在每個表上都有特定的onclicklisteners,但這會產生很多(不必要的)代碼,並且必須有更好的解決方案?

問候

回答

1

如果你作出的ListView()擴展你的活動,你把你的選擇列表中的你其實可以覆蓋的方法 公共無效onListItemClick(ListView的父,視圖V,INT位置,長期ID ){ } 並且該方法的位置屬性是一個int,它指示您實際單擊的是哪一行 這是我確定實際工作的解決方案,所以如果您的表格佈局不太複雜,我建議您創建一個列表並重寫此方法!在onCreate()

firstTextVIew = (TextView) findViewById(R.id.firstText); 

firstTextView.setOnClickListener(this); 

secondTextVIew = (TextView) findViewById(R.id.secondText); 

secondTextView.setOnClickListener(this); 

好吧,我會嘗試一個又一個,因爲這一個原因,你的其他問題,你可以做這樣的事情:

onCreate()

public void onClick(View v) {  

    /*make a list of cases for any text view, where __TextView is the name you gave to the textview when you made the getViewById() on the start of the activity*/ 
     if(v == firstTextView){   
      //start activity 
     } 
    if(v == secondTextView){   
      //start activity 
     } 
    } 
+0

嗨,謝謝。我只是從ListView更改爲TableLayout,因爲我有ListView的其他問題,如讓我的背景可繪製好看,並防止Listview填充整個屏幕:S – elwis 2011-02-15 08:07:18