2012-02-05 4 views
0

에서 안드로이드 액티비티의 UI를 업데이트하는 방법 나는 누구의 레이아웃 ID my_viewTextView와 ID를 open_alertButton가 포함 된 파일 main.xml에있는 Activity 있습니다. 버튼을 클릭하면 AlertDialog이 열리고 확인을 클릭하면 해제됩니다. AlertDialog이 취소되면 해당 활동에서 TextView의 값을 업데이트해야합니다.경고 대화

활동에서 TextView의 값을 업데이트 할 수 없습니다.

+0

자세한 내용 - 오류 로그를 제공 하시겠습니까? 작동하지 않는 코드? – BitBank

+0

시도한 코드를 제공하십시오 ... –

답변

1

한 가지 방법은 경고에 OnClickListener를에 활동을 다시 시작하는 것입니다. 뷰에 값을 전달하려면 인 텐트에 추가 속성을 추가하고 TextView에서 값을 재설정하면됩니다. 참조 용으로 대략적인 코드를 게시했습니다.

alert.setNeutralButton("OK", new OnClickListener() { 

     public void onClick(DialogInterface dialog, int which) { 
      //create a new intent 
      Intent intent = new Intent("YOUR ACTIVITY NAME"); 
      //add your value in the intent 
      int value = //your value 
      intent.putExtra("value",value); 
          //start your activity 
      startActivity(intent); 
     } 
    }); 

및 활동

Intent intent = getIntent(); 
yourTextView.setText(intent.getExtras().getString("value")); 

이 그것을 할 수있는 가장 효율적인 방법이 있는지 알고하지 마십시오,하지만 작동합니다에서

.

+0

작동하지만 다시 활동을 끝내고 다시 시작해야합니다. 이는 그런 헛된 생각이 아닙니다. 단추를 클릭 할 때 UI를 업데이트하는 것이 더 좋습니다.
Button b = (Button) findviewbyId (R.id.b1); –

3

그냥 긍정적 버튼 onClick 리스너를 구현 :

new AlertDialog.Builder(this) 
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) 
    { 
     TextView text = (TextView) v.findViewById(R.id.my_view); 
     if (text != null) 
     { 
     text.setText("new text"); 
     } 
    }) 
    .setNegativeButton(R.string.cancel, null).create().show(); 
0

먼저 XML 파일에 android : editable 속성이 있는지 확인하고 대상 TextView에 true를 설정해야합니다. 그런 다음 onClick() 메서드에서 setText()를 사용해야합니다.