からクリックリスナーでいくつかの値を抽出し、私は外部クラス
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の新しいオブジェクトを作成するユニークなインターフェースを持つカスタムクラスを持っているが、私はしたいです表示されているテキストビューからStringを取得します。
CalculatorDialog dialogBox = new CalculatorDialog(context, new CalculatorDialog.CalculatorListener() {}
@Override
public void onClick(View v) {
String test = getViewText();
}
});
しかし、あなたと私はそれがそこからアクセスすることができないと思ってきたように:
は、だから私のMainActivityに私はこれをやろう。
ここのコードは私のプロジェクトで持っているものと1:1ではありませんが、私の要求を反映していると思います。また、StackOverflowに直接書きましたので、いくつかのコードのバグが含まれている可能性があります。
この機能にアクセスするにはどうすればよいですか?
あなたCalculatorListenerを変更する必要があります? –
Jesses answserを意味しますか? –
ええ、それは変わってしまったようなものです。しかし、実際には 'View'パラメータは必要ありません。 –