0

我有一个 MainClass,其中一个是完整的应用程序,当我单击一个按钮时,我会转到另一个类(PopupValores),我让它看起来像一个弹出窗口。在这个类中,我有一个 EditText,您可以在其中键入一个整数和一个按钮来关闭这个类。我的问题是如何在 PopupClass 中输入 int 并在 MainClass 中使用它。这是 PopupValores 的代码。

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PopupValores extends Activity implements OnClickListener {

TextView texto;
String mensaje;
EditText editable;
Button ok;
public static int cantidad;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.popupvalores);

    ok = (Button) findViewById (R.id.Bok);
    texto = (TextView) findViewById (R.id.textView1);
    editable = (EditText) findViewById (R.id.editText1);
    mensaje = editable.getText().toString();
    ok.setOnClickListener(this);

    ok.setOnLongClickListener(new View.OnLongClickListener() {
        public boolean onLongClick(View arg0) {
            finish();
            return true;
        }
    });


}

public void onClick(View v){
    switch(v.getId()){
    case R.id.Bok:

    String mensaje;
    mensaje = editable.getText().toString();

    cantidad = Integer.parseInt(mensaje);

    texto.setText("New value " + cantidad + ".");

    }
}
}

然后在我的 MainClass 我单击一个按钮,它显示 int

int id, vaas = PopupValores.cantidad;
public void onClick (View v)
{   
posicion = (ImageCell) v;
seleccion = posicion.mCellNumber;

if (seleccion == -1){
    ....
    toast (id + " " + vaas);
    ....
}
}

但不是显示在 PopupValores 中声明的值,而是显示 0。我在这里做错了什么?

4

2 回答 2

1
  1. 您需要调用弹出活动Activity.startActivityForResult()
  2. 完成弹出活动后,通过设置请求的结果Activity.setResult()(您可以将数据保存在意图的包中)
  3. 在您的主要活动中,覆盖onActivityResult并检索数据
于 2012-05-09T08:24:23.393 回答
0

它被称为 startActivityforResult 并且在stackoverflow上已经被回答了很多次 这是一个

于 2012-05-09T08:22:11.320 回答