2012-01-15 2 views
0

Это то, что я хочу сделать с моим приложением: Открыть обзорный экран, перейти в калькулятор по кнопке. Чем умножьте два числа. Нажимая подсчет, цель будет завершена. Результат умножения будет показан при первом (основном) действии.Взятие двойных чисел назад к предыдущему действию

Я не знаю, как сделать последний бит, кто-нибудь идеи?

Код первый (основной) деятельности, OverviewpageActivity.java

package com.tip.calc; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 


public class OverviewpageActivity extends Activity { 
private TextView multiplydisplay2; 
private Button btntocalculator; 
private double multiply  = 0; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.overview); 

    multiplydisplay2 = (TextView)findViewById(R.id.multiplydisplay2); 
    btntocalculator = (Button)findViewById(R.id.btntocalculator); 

    btntocalculator.setOnClickListener(new Button.OnClickListener() { 
     public void onClick (View v) { 
      Intent intent = new Intent(OverviewpageActivity.this, 
    TipcalcActivity.class); 
      startActivity(intent); 
      } 
     }); 
    } 
    } 

калькулятор Код acticvity, TipcalcActivity.java:

package com.tip.calc; 

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


public class TipcalcActivity extends Activity { 
private EditText number1; 
private EditText number2; 
private TextView multiplydisplay; 
private Button btncalculate; 
private Button btnreset; 
private double number1calc = 0; 
private double number2calc = 0; 
private double multiply  = 0; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    initControls(); 
} 

private void initControls() { 
    number1 = (EditText)findViewById(R.id.number1); 
    number2 = (EditText)findViewById(R.id.number2); 
    multiplydisplay = (TextView)findViewById(R.id.multiplydisplay); 
    btncalculate = (Button)findViewById(R.id.btncalculate); 
    btnreset = (Button)findViewById(R.id.btnreset); 
    btncalculate.setOnClickListener(new Button.OnClickListener() { public void 
onClick (View v){ calculate(); }}); 
    btnreset.setOnClickListener(new Button.OnClickListener() { public void 
onClick (View v){ reset(); }}); 
} 

private void calculate() { 
    // check if zero 
    if(number1.getText().toString().trim().length() < 1){number1calc=0;} 
    else{number1calc=Double.parseDouble(number1.getText().toString());} 

    if(number2.getText().toString().trim().length() < 1){number2calc=0;} 
    else{number2calc=Double.parseDouble(number2.getText().toString());} 

//calculate 
    multiply=(number1calc*number2calc); 
    multiplydisplay.setText(Double.toString(multiply)); 
    finish(); 
} 

private void reset() { 
    multiplydisplay.setText(""); 
    number1.setText(""); 
    number2.setText(""); 
    finish(); 
} 
} 

Компоновка файл, overview.xml:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 



<!-- multiply --> 
<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
android:layout_marginTop="20dp" > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="multiply:" /> 
    <TextView 
     android:id="@+id/multiplydisplay2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="" 
     android:layout_marginLeft="20dp" /> 
</LinearLayout> 

<Button 
    android:id="@+id/btntocalculator" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="To the calculator" /> 

</LinearLayout> 

ответ

2

Используйте startActivityforResult вместо startActivity в обзореp ageActivity.java, а также переопределить OnactivityResult в BrowsepageActivity.java.

Затем во втором действии вы можете установить результат, используя setResult. Передайте намерение в setresult, который будет иметь двойное значение. В OnactivityResult вы можете получить намерение, из которого вы можете извлечь двойное

+0

можете ли вы указать пример кода? @nandeesh – John

+0

http://remwebdevelopment.com/dev/a33/Passing-Bundles-Around-Activities.html. здесь приведен пример кода – nandeesh

Смежные вопросы