2011-11-17 4 views
0

Я пытаюсь передать данные с одной страницы на другую, но какая-то проблема идет. Ниже приводится code.its сила закрытия приложения после того, как я, нажав на кнопку второй страницеКак перенести данные с одного экрана на другой в Android?

Вот моя первая программа:

package com.life.insurance; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
/*import android.view.Menu;*/ 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 


public class LifeInsuranceActivity extends Activity implements OnClickListener{ 
/* private static final int MENU_STARS = 1; 
    private static final int MENU_REFRESH = 2;*/ 
    Context mCtx; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button submit =(Button)findViewById(R.id.button1); 
     submit.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch (v.getId()){ 
     case R.id.button1: 
      mCtx = this; 

      String intext = new String(); 
      intext=((EditText)findViewById(R.id.editText1)).getText().toString(); 

       Intent myIntent = new Intent(mCtx, MenuSelection.class); 
       Bundle bundle = new Bundle(1); 
       bundle.putString("ganna", intext); 
       myIntent.putExtras(bundle); 

       /*Start Activity*/ 
       mCtx.startActivity(myIntent); 

       /*Start ActivityForResult*/ 
       ((Activity)mCtx).startActivityForResult(myIntent, 2); 

      setContentView(R.layout.menuselection); 
      break;  
     } 
    } 
} 

Это моя вторая активность

package com.life.insurance; 

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

public class MenuSelection extends Activity implements OnClickListener{ 
    String ot; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menuselection); 
     Button search =(Button)findViewById(R.id.imageButton1); 
     search.setOnClickListener(this); 
     Bundle extras = this.getIntent().getExtras(); 
     ot =extras.getString("ganna").toString(); 
     final TextView r =(TextView)findViewById(R.id.txt1); 
     r.setText(ot); 

    } 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()){ 
    case R.id.imageButton1: 


     break; 

    } 
    } 

} 

пожалуйста, помогите мне сделайте это

+1

Есть ли ловушка stacktrace, и можете ли вы опубликовать его? –

+0

Не могли бы вы вывести ошибки, которые появляются в Logcat? Также вы не забыли объявить свою вторую активность в файле androidmanifest? –

+1

Нам нужен вывод logcat, вы можете отредактировать сообщение с выходом? – Aracem

ответ

3

Трудно ответить без дампа ловушки, но я думаю, что есть несколько вещей, чтобы проверить. Во-первых, передача строки должна быть прямой:

intent.putExtra("key", "value"); 

Если вы хотите отправить сложные объекты или пучки, вы можете сделать это, но я придерживаюсь к вашей проблеме отправки и чтения строки.

getIntent().getStringExtra("key") 

Я думаю, используя Bundle, в вашем случае не нужно.

Во-вторых, вы вызываете startActivity и startActivityForResult. Позвоните по одному или другому. Поскольку вы ищете ответ, вы, вероятно, захотите воспользоваться последним.

Наконец, убедитесь, что вы добавили свою вторую активность в свой манифест, как предложено ниже. Вы также хотите использовать контексты своей деятельности, а не кнопки при запуске последующих действий.

Здесь, кажется, есть несколько проблем, которые могут вызвать крушение.

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