java - 完成类(class)并从已完成类(class)到主类(class)获取 int

标签 java android android-intent

我有一个 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。我在这里做错了什么?

最佳答案

  1. 您需要使用 Activity.startActivityForResult() 调用弹出 Activity
  2. 完成弹出 Activity 后,通过 Activity.setResult() 设置请求的结果(您可以将数据保存在 Intent 包中)
  3. 在您的主 Activity 中,重写 onActivityResult 并检索数据

关于java - 完成类(class)并从已完成类(class)到主类(class)获取 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512124/

相关文章:

android - 如何让点击事件传递给android中的容器?

android - 如何为 Intent 设置 Action 、类别和数据?

android - onDestroy() 在调用 startActivityForResult() 时被调用

java - 如何在没有初始化的情况下将图像转换为 BufferedImage?

java - 更新数据库会在“待办事项列表”应用程序中引发错误

Android-CameraX:在多个前置摄像头之间切换

android - (re) 显示一个 singleTask Activity

Java 堆大小 : why use powers of 2?

java - 如何使用 Spring 4 Rest Controller 为 Jsp View 提供服务?

java - 帕斯卡三角错误输出