접근성 서비스 내에서 EditText 내부의 텍스트를 변경하고 싶습니다. 내 코드 :접근성 서비스를 통해 볼 데이터 전달 - Android
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
final AccessibilityNodeInfo source = event.getSource();
if (source != null & event.getClassName().equals("android.widget.EditText")) {
AccessibilityNodeInfo currentSource = source;
ClipboardManager clipboard = (ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "TestData");
clipboard.setPrimaryClip(clip);
currentSource.performAction(AccessibilityNodeInfo.ACTION_PASTE);
그리고 잘 작동합니다. 사용자가 EditText를 누르면 "TestData"로 바뀝니다. 그 다음에 버튼이있는 대화 상자가 나타납니다. 단추를 눌러 텍스트를 변경하고 싶습니다.
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
builder.setTitle("Test dialog");
builder.setMessage("Content");
builder.setPositiveButton("User", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
ClipboardManager clipboard = (ClipboardManager) getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Test Username");
clipboard.setPrimaryClip(clip);
currentSource.performAction(AccessibilityNodeInfo.ACTION_PASTE);
dialog.dismiss();
}
});
버튼을 누르면 클립 보드가 새로 고침되지만 EditText의 텍스트는 그렇지 않습니다.
제안 사항? –