2016-09-20 8 views
-2

MainActivityのデータを1つのボタンで2つのテキストボックスに送信しようとしています。SecondActivityにデータを送ります。1つのボタンをクリックして複数のデータを新しいアクティビティに送ることができません

しかし、SecondActivityは、第1または第2のテキストボックスのデータを示しており、両方を表示しているわけではありません。

私はここで間違っていますか?

MainActivityからコード:

public class MainActivity extends Activity { 
    public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key"; 
    public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void compute(View v) { 

     EditText e1 = (EditText) findViewById(R.id.editText); 
     EditText e2 = (EditText) findViewById(R.id.editText2); 

     String message= e1.getText().toString(); 
     String message2= e2.getText().toString(); 

     Intent intent=new Intent (this,SecondActivity.class); 
     intent.putExtra(MESSAGE_KEY,message); 
     intent.putExtra(MESSAGE_KEY2,message2); 
     startActivity(intent); 
    } 
} 

第二の活動から:

public class SecondActivity extends Activity { 
    public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key"; 
    public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Intent intent=getIntent(); 
     String message = intent.getStringExtra(MESSAGE_KEY); 
     String message2 = intent.getStringExtra(MESSAGE_KEY2); 

     TextView textView=new TextView(this); 
     textView.setText(message); 
     setContentView(textView); 

     TextView textView2=new TextView(this); 
     textView2.setText(message2); 
     setContentView(textView2); 

     setContentView(R.layout.second_layout); 
    } 
} 

私はAppCompatActivityからActivityに、LinearLayoutに2つ目の活動を変更しようとしたが、へMainActivityテキストボックスのIDと同じIDを追加しましたTextView、別のIDを試してみましたが、TextViewは完全に削除されましたが、両方の数字の出力が得られませんでした。

+2

申し訳ありませんが、私は "AppCombatActivity"で笑った...それはAppCompatActivity ... –

+2

'setContentView'あなたはそれがどう思いますか? – njzk2

+0

* "まだ両方の数字の出力が得られない" * ...有効な値が得られない場合は、NPEを取得している必要があります。受け取っているものを正確に投稿できますか? – Shaishav

答えて

0

は、以下のコードを参照してください

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

</LinearLayout> 

SecondActivity

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second_layout); 

    TextView tvFirst = (TextView) findViewById(R.id.textView1); 
    TextView tvScnd = (TextView) findViewById(R.id.textView2); 

    Intent intent=getIntent(); 
    String message = intent.getStringExtra(MESSAGE_KEY); 
    String message2 = intent.getStringExtra(MESSAGE_KEY2); 

    tvFirst.setText(message); 
    tvScnd.setText(message2); 
} 
+0

非常にありがとうございます、これは完璧に動作します:-) – Madhu

+0

@Madhuこの回答があなたの質問を解決した場合、[受け付け](http://meta.stackexchange.com/q/5234/179419)マーク。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 – Sufian

0

MainActivity second_layout:

public class MainActivity extends Activity { 
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key"; 
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    compute(); //view initialization must be on onCreate 
} 

public void compute(){ 

    EditText e1 = (EditText) findViewById(R.id.editText); 
    EditText e2 = (EditText) findViewById(R.id.editText2); 

    String message= e1.getText().toString(); 
    String message2= e2.getText().toString(); 

    Intent intent=new Intent (this,SecondActivity.class); 
    intent.putExtra(MESSAGE_KEY,message); 
    intent.putExtra(MESSAGE_KEY2,message2); 
    startActivity(intent); 

    } 
} 

SecondActivity:

public class SecondActivity extends Activity { 
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key"; 
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second_layout); 

    Intent intent=getIntent(); 
    String message = intent.getStringExtra(MESSAGE_KEY); 
    String message2 = intent.getStringExtra(MESSAGE_KEY2); 

    TextView textview = (TextView) findViewById(R.id.textView); 
    TextView textview2 = (TextView) findViewById(R.id.textView2); 
    textView.setText(message); 
    textView2.setText(message2) 
    } 
}