2016-05-12 10 views
0

onCreate()の変数にアクセスして別のクラスで再利用する方法はありますか?あなたが本当に正確にあなたの計画が何であるかを指定していないので、それは適切な解決策を得るための挑戦のビットですが、/Android - onCreate()

+0

これはアンドロイドの質問ではなく、基本的なクラス構造化/データアクセスの質問です。 – JoxTraex

+0

@ JoxTraxが正しいです。それにもかかわらず、変数を静的変数として定義する: 'public static String testSubCa =" ";'。 'SearchRestau'クラスに名前をつけた場合、それは動作します。 –

+0

変更なし...私のクラスは、既に初期化されているものにのみアクセスします。 –

答えて

0

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); 
} 

は、私はこれらのデータを使用する必要があります。 私はちょうどあなたがやりたいことを想定するつもりですが、アクティビティを開始し、ユーザがこのアクティビティの中で何かをしてから、そのアクティビティ内で作成された値を使用する機能を使って、

と最も簡単な方法は、startActivity(意図)を経由して活動を開始しないことではなく、あなたが実際に結果を得るためのイベントを処理する必要が同じ活動でstartActivityForResult(Intent, RequestCode);

を使用することです。これを行うには、あなたは、このコードを配置する必要がテントデータの内部に格納されなければならないし、その結果内部の値を配置するにはdata.getStringExtra();

を使用してつかんすることができます方法に

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

変数を実装する必要があります実際に作成するアクティビティでは、

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

あなたの問題に役立つことを願っています。 GL

関連する問題