2013-08-10 3 views
0

У меня есть два класса Profile.class и Details.class,Android значения при переходе от одного вида деятельности к другой деятельности (строка) или из одного класса в другой

В классе профиля я использовал блесну со значениями типа (ATM , Банковское дело, личное, другое и т. Д.) и кнопку (OK). при нажатии кнопки «ОК» он перейдет к следующему действию, которое представляет собой активность детали, где я буду брать некоторые детали, такие как имя, описание и т. Д.

после заполнения деталей я дал кнопку (сэкономьте). при нажатии кнопки save я сохраню имя и описание в базе данных, но я хочу сохранить имя профиля и вместе с подробностями. Я не могу перенести выбранный текст Spinner из Profile.class в Details.class

как передать?

код create.class

общественный класс Создание расширяет активность {

public ArrayList<String> array_spinner; 
    Button button4; 
    String spinnertext; 

    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.create); 
     Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
     array_spinner=new ArrayList<String>(); 
     array_spinner.add("ATM"); 
     array_spinner.add("Bank"); 
     array_spinner.add("Mail"); 


     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, array_spinner); 
     adapter.setNotifyOnChange(true); 
     spinner.setAdapter(adapter); 

     spinner.setLongClickable(true); 
     spinner.setOnLongClickListener(new OnLongClickListener(){ 

      public boolean onLongClick(View v) { 
       // TODO Auto-generated method stub 


       return false; 

     }} 
     ); 


     button4 = (Button)findViewById(R.id.button4); 
     button4.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Intent myIntent4 = new Intent(view.getContext(), Details.class); 
       startActivityForResult(myIntent4, 0); 

       myIntent4 .putExtra("key", array_spinner.getSelectedItem().toString()); 
       startActivity(myIntent4); 
      } 

     }); 

}} 

details.class код

общественный класс Подробности расширяет активность {

EditText editText4,editText5,editText6; 
Button button8,button9,button10; 
TextView textView7; 
String et4,et5,et6; 
//SQLite Database db; 


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

    String spinnervalue = getIntent().getExtras().getString("Key"); 

пожалуйста, любезно объяснить мне что это за «ключ»?

ответ

1

Вы можете использовать:

Intent i = new Intent(MainActivity.this,SecondActivity.class); 
    i.putExtra("YourValueKey", yourData.getText().toString()); 

, то вы можете получить его из второй активности:

Intent intent = getIntent(); 
    String YourtransferredData = intent.getExtras().getString("YourValueKey"); 

например

это то, что вам нужно написать письмо до начала вашей деятельности

Intent i = new Intent(getApplicationContext(), Product.class); 
i.putExtra("productname", ori); 
i.putExtra("productcost", position); 
i.startActivityForResult(i,0); 

затем в следующей деятельности вы должны иметь этот код

String productname,productcost; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.product); 

    tv1= (TextView)findViewById(R.id.tv1); 
    tv2= (TextView)findViewById(R.id.tv2); 

    Bundle extras= getIntent().getExtras(); 
    if(extras!=null) 
    { 
     position = extras.getString("position"); // get the value based on the key 
     tv1.setText(productname);//use where ever you want 
     productname = extras.getString("productname"); // get the value based on the key 
     tv2.setText(productname); 

    } 
+2

спасибо .. это работает –

1

Прежде всего взять блесну и обеспечить для них значения то, что вы хотите, и затем изменить его значение, выбранное вращатель значение строки и эта переменная строка будет использоваться в кнопке OK, чтобы передать значение через использование Intent или Общие предпочтения, чтобы принять это значение для другого действия, и там вы можете использовать его в базе данных для отображения этого значения.

1

Если вы хотите отправить данные в другое мероприятие, вы можете сделать это, используя intent.

Bundle bund = new Bundle(); 

bund.putString("myKey",name); 

Intent intent = new Intent(Profile.this, Detail.class); 

intent.putExtras(bund); 

startActivity(intent); 

Теперь в деталях класса, получить эти данные в OnCreate()

@Override 
protected void onCreate(Bundle savedInstanceState) { 
     ....... 

    String nameReceived = getIntent().getExtras().getString("myKey"); 
} 

Я дал пример прохождения строки на другой вид деятельности, однако, вы можете передать логическое значение, INT, двойной и т.д., чтобы другой Мероприятия. Смотрите полный список на here

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