我有一些TextView
s表示每個共享一個OnLongClickListener
Android:如何將'視圖'轉換爲'textview'?
內onLongClick
事件,我要確定哪些TextView
觸發事件。
然而,被定義的事件爲:
public boolean onLongClick(View view)
我試圖鑄造view
到TextView
,但沒有奏效。
如何獲取觸發OnLongClick
事件的小部件?
我有一些TextView
s表示每個共享一個OnLongClickListener
Android:如何將'視圖'轉換爲'textview'?
內onLongClick
事件,我要確定哪些TextView
觸發事件。
然而,被定義的事件爲:
public boolean onLongClick(View view)
我試圖鑄造view
到TextView
,但沒有奏效。
如何獲取觸發OnLongClick
事件的小部件?
View
應該是你的TextView。
嘗試是這樣的:
if(view instanceof TextView) {
TextView textView = (TextView) view;
//Do your stuff
}
爲了驗證上述if語句是有效的,你可以嘗試這樣的第一次運行它:
if(view instanceof TextView) {
Log.e("MyTag", "It's a TextView!");
}
使用view.getId()方法獲得點擊視圖的ID。
public boolean onLongClick(View v) {
switch(v.getId()) {
case R.id.first_text_view: // do things here; break;
...
}
return true;
}
的TextView
已經一個View
,所有widget都是從View
延伸,因此,所有你需要的是你的TextViews的id
這樣的開關:
public boolean onLongClick(View v) {
switch(v.getId()) {
case R.id.txt1: // your code for the textView which have the id R.id.txt1 ...;
break;
case R.id.txt2: // your code for the textView which have the id R.id.txt2 ...;
break;
//... etc
}
return true;
}
有什麼錯誤你越來越?通常這應該工作。如果你設置了yourTextView.setOnLongClickListener(this)
,那麼public boolean onLongClick(View view)
會觸發,你不需要施放它。
如何將'view'強制轉換爲'TextView'不起作用?你有沒有嘗試檢查'if(view instanceof TextView)',以確保它不是從錯誤的視圖觸發的? –
我試圖將視圖投射到TextView,但沒有奏效。 ..........你是否收到任何錯誤,請分享錯誤日誌。否則分享onLongClick()的代碼 –