1

画像_1

上のエミュレーターの画像は、指定された 2 つの値を合計し、同じ画面にある下のテキストビューに結果を表示しています。

ここで私の必要性は、別の画面のテキストビューに結果のみを表示したいということです。これを達成するにはどうすればよいですか? ソースにどのソースを追加する必要がありますか?

public class CheckingActivity extends Activity {
 Button     button1;
 EditText   txtbox1,txtbox2;
 TextView tv;

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


     txtbox1=  (EditText) findViewById(R.id.editText1);
     button1 = (Button) findViewById(R.id.button1);
     tv = (TextView) findViewById(R.id.textView5);
     txtbox2=  (EditText) findViewById(R.id.editText2);
     button1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) 
    {
         String a,b;
         Integer vis;
         a =  txtbox1.getText().toString();
         b =  txtbox2.getText().toString();    
         vis =  Integer.parseInt(a)+Integer.parseInt(b);
         tv.setText(vis.toString());
        }
    });

どうもありがとう!。

4

2 に答える 2

4

1.) 主なアクティビティを次のように置き換えます。

public class CheckingActivity extends Activity {
 Button     button1;
 EditText   txtbox1,txtbox2;
 TextView tv;

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

 txtbox1=  (EditText) findViewById(R.id.editText1);
 button1 = (Button) findViewById(R.id.button1);
 tv = (TextView) findViewById(R.id.textView5);
 txtbox2=  (EditText) findViewById(R.id.editText2);
 button1.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) 
{
     String a,b;
     Integer vis;
     a =  txtbox1.getText().toString();
     b =  txtbox2.getText().toString();    
     vis =  Integer.parseInt(a)+Integer.parseInt(b);
     //tv.setText(vis.toString());
     Intent i = new Intent(getApplicationContext(),ResultActivity.class);
     i.putExtra("sum",vis.toString());
     startActivity(i);
    }

3.) 1 つの xml レイアウト ファイルを追加します。resultview

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tvsum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:text="Sum : " />

    <TextView
        android:id="@+id/tvres"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/tvsum"/>
</RelativeLayout>

4.) 最後にマニフェストに追加します。

<activity android:name=".ResultActivity" />

それが役に立てば幸い!!

編集

public class ResultActivity extends Activity {
TextView tv;
String result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultview);
Bundle extras = getIntent().getExtras();
if (extras != null) {
    result = extras.getString("sum");
    }
tv=(TextView) findViewById(R.id.tvres);    
tv.setText(result);
  }
 }
于 2012-06-13T06:11:46.347 に答える
2

私があなたを正しく理解しているなら、あなたは結果値で新しい活動を示したいと思うでしょう。その場合は、新しいアクティビティを作成し、その値を表す整数値をこのアクティビティに渡すことでこれを行うことができます。

あなたはこのようにこれを行うことができます:

CheckingActivityアクティビティの場合:

public void onClick(View v) 
{
     String a,b;
     Integer vis;
     a =  txtbox1.getText().toString();
     b =  txtbox2.getText().toString();    
     vis =  Integer.parseInt(a)+Integer.parseInt(b);
     Intent in = new Intent(this, B.class);
     in.putExtra("output_value", vis);
     startActivity(in);

    }
});

新しいアクティビティのXML:

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

    <TextView
        android:id="@+id/txt_sum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Output: "/>

    <TextView
        android:id="@+id/txt_value"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/txt_sum"/>
</RelativeLayout>

新しいアクティビティでは:

    Bundle extras = getIntent().getExtras();
    int value = extras.getInt("output_value");

    TextView output =  (TextView) findViewById(R.id.txt_value);
    output.setText(value);
于 2012-06-13T06:01:47.897 に答える