【问题标题】:Return result from custom dialog to activity从自定义对话框返回结果到活动
【发布时间】:2025-12-07 00:15:01
【问题描述】:

我有一个活动。 在该活动中,我有一个自定义对话框。在该对话框中,有一个按钮。单击该按钮时,我想更改活动中的文本颜色。如何实现。 谁能帮帮我吗。 我的代码---

public class Test extends Activity{
TextView tv;
Button b;
protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
         super.onCreate(savedInstanceState);

         setContentView(R.layout.test);
         tv = (TextView)tv.findViewById(R.id.tv1);
         button initialization code..
        b.setOnclickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                            popup();

          }
    }
            public void popup(final int position)
    {
        final Dialog dialog = new Dialog(Test.this);
        TextView view
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.popup);

        view = (TextView) dialog.findViewById(R.id.view1);
        view .setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
      toast msg...
              }

        });
}

【问题讨论】:

  • popup 方法在同一类中,要更改文本颜色?然后 tv 在 onClick 方法中
  • 使用监听器将回调从对话框发送到活动you can check this answer
  • 是弹出方法在同一个类中
  • 如何在没有任何参数的情况下调用 popup()?你的方法显示一个整数参数
  • @ananya 在弹出的 onclick 方法中改变颜色,就是这样。

标签: android dialog


【解决方案1】:
public void popup() {

    final Dialog dialog = new Dialog(this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.popup);

    dialog.findViewById(R.id.textView1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            // remove dialog
            dialog.dismiss();

            // change color of text
            ((TextView) findViewById(R.id.change_my_color)).setTextColor(Color.GREEN);
        }

    });

    dialog.show();
}

【讨论】:

    最近更新 更多