Android - onCreate()

时间:2016-05-12 00:28:52

标签: java android oop

有没有办法在onCreate()上访问变量,在另一个类中重用它们?

String testSubCa="";
String prixe="";
String testWiifi="";
Double testPrice=0.0;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_srdata);
    testSubCa = getIntent().getStringExtra(SearchRestau.txxtSub);
    prixe = getIntent().getStringExtra(SearchRestau.txtprix);
    testWiifi =  getIntent().getStringExtra(SearchRestau.txxtWifi);
    testPrice=Double.parseDouble(prixe);
    refresh = (ImageButton) findViewById(R.id.imgRefresh);
    refresh.setOnClickListener(this);
}

我需要使用这些数据:/

1 个答案:

答案 0 :(得分:0)

由于您没有真正说明您的计划究竟是什么,因此获得正确的解决方案有点挑战。 我只想假设您要做的是开始一项活动,让用户在此活动中执行某些操作,然后返回到启动活动的位置,并能够使用活动中创建的值。

最简单的方法是不通过startActivity(Intent)启动活动,而是使用startActivityForResult(Intent, RequestCode);

在同一个活动中,您需要处理实际获得结果的事件。为此,您需要实现方法

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (resultCode == RESULT_OK)
    {
        //Your code to retrieve the data here!
    }
}

变量应该存储在Intent数据中,并且可以通过使用来获取 data.getStringExtra();

要将值放在结果中,您需要将此代码放在实际创建它们的活动中:

Intent intent = new Intent();
intent.putExtra("value_id", value);
setResult(RESULT_OK, intent);
finish();

我希望这有助于解决您的问题! GL