通过Intent在类之间发送变量

时间:2011-03-17 18:28:47

标签: android class variables android-intent

我在使用Intent浏览屏幕时遇到问题。我想发送一个变量并在另一个类中使用它。

我正在使用一个方法,该方法接受变量,但我不知道如何将其发送到新屏幕,这将用它来做一些事情。

主类调用metod:

private void pantallaDetalles(final int identificador)
{
     startActivityForResult(new Intent(this,MostrarDetalles.class),REQST_CODE);
}

MostrarDetalles.class是* .java,它将获取变量。我这样开头:

public class MostrarDetalles extends Activity {

    SQLiteDatabase db;

    public void onCreate(Bundle savedInstanceState)
        {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.detalles);


         //more code...


         Cursor c = db.rawQuery("SELECT * FROM table WHERE _id="+ identificador, null);

        }
你知道吗?我在说这个。我不知道如何通过Intent将“identificador”变量从主类发送到第二类。

你能帮我解决这个问题吗?非常感谢你的建议。

JMasia。

3 个答案:

答案 0 :(得分:12)

在意图中使用extras包。

Intent i = new Intent(...);
i.putExtra("name_of_extra", myObject);

然后on onCreate:

getIntent.getIntExtra("name_of_extra", -1);

答案 1 :(得分:6)

屏幕1:

Intent i=new Intent("com.suatatan.app.Result");
                i.putExtra("VAR_RESULT", "Added !");
                startActivity(i);

屏幕2 :(接收方):

TextView tv_sonuc = (TextView) findViewById(R.id.tv_sonuc);

Bundle bundle = getIntent().getExtras();

String var_from_prev_intent = bundle.getString("VAR_RESULT");
tv_sonuc.setText(var_from_prev_intent);

答案 2 :(得分:0)

您可以使用Intent.putExtra()将要发送的数据与意图捆绑在一起。