提取物中點擊收聽一些值我有一個具有從外部類
public class CalculatorDialog extends Dialog implements OnClickListener {
TextView mView;
CalculatorListener delegate = null;
public CalculatorDialog (Context context, CalculatorListener delegate) {
this.context = context;
this.delegate = delegate;
}
public interface CalculatorListener extends OnClickListener {
@Override void onClick(View v);
}
@Override void onCreate(Bundle bundle) {
...
mView = (TextView) findViewById(...);
findViewbyId(...Button...).setOnClickListener(delegate);
}
public String getViewText() {
mView.getText().toString();
}
當創建CalculatorDialog的新對象我想要實現我自己的點擊按鈕操作的唯一接口的自定義類,但我想從可見的文本視圖中獲取一些字符串。
所以在我的MainActivity我嘗試這樣做:
CalculatorDialog dialogBox = new CalculatorDialog(context, new CalculatorDialog.CalculatorListener() {}
@Override
public void onClick(View v) {
String test = getViewText();
}
});
但你和我還以爲它不能從那裏訪問。
這裏的代碼與我在項目中的代碼不是1:1,但我認爲它代表了我的需求。我也直接在StackOverflow上寫了它,所以它可能包含一些代碼錯誤。
如何訪問此功能?
你爲什麼不只是定義接口的方法來傳遞迴你想要的'String',而不是中繼'OnClickListener' ? –
你是說Jesses anwser? –
是的,就是這樣,現在他們已經改變了它。不過,你可能並不需要'View'參數。 –