2013-12-23 2 views
0

У меня есть активность A, где у нее есть кнопка ADD, когда я нажимаю кнопку, она отображает список пользователей с флажками в Second Activity и когда я выбираю пользователей и нажимаю кнопку Соответствующая кнопка должна отображаться у всех пользователей. Активность AI с помощью адаптера для отображения пользователей.Как передать список избранных пользователей предыдущей активности

от этой кнопки я получаю список проверяемых значений

private void checkButtonClick() 
{ 
    conform = (Button)findViewById(R.id.Confirm); 
    conform.setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      StringBuffer responseText = new StringBuffer(); 
      responseText.append("The following were selected...\n"); 

      ArrayList<Namelist> stateList = contactadapteruser.listexample; 

      Bundle b=null; 
      Namelist state; 
      for(int i=0;i<stateList.size();i++) 
      { 
       state = stateList.get(i); 
       b = new Bundle(); 
       b.putString("selected",state.getName()); 
       if(state.isSelected()) 
       { 
        responseText.append("\n" + state.getName()); 
       } 
      } 

      Intent i= new Intent(Contactselectuser.this,Contactrepresentativedetails.class); 
      i.putExtras(b); 
      startActivity(i); 
     }   
    }); 
} 

от этой кнопки я набираюсь я извлекая значения

send.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
    // TODO Auto-generated method stub 

     Intent i2 = getIntent(); 
     Bundle b1 = i2.getExtras(); 
     String name1 = b1.getString("selected"); 
     tweet.setText(name1+",\t"); 
    } 
}); 

Моей проблему я не могу получить пользователь которые проверяются. Может кто-нибудь мне помочь.

+2

использование startActivityForResult() в твоем случае. –

+0

есть ли необходимость в использовании разумной вещи, которую я путаю. – Sanjeev

+0

Как я могу получить значения списка массивов предыдущему действию ' – Sanjeev

ответ

1

использовать начало деятельности для результата, чтобы начать свое второе действие.

Intent intent = new Intent(this, SecondActivity.class); 
startActivityForResult(intent, 1); 

от второй активности перед закрытием вы можете отправить

Intent return_intent = new Intent(); 
return_intent.putExtra("your_user_list",user_list); 
setResult(RESULT_CODE,return_intent);  
finish(); 

Теперь в вашем FirstActivity переопределение onActivityResult() метод

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (requestCode == 1) { 

    if(resultCode == RESULT_CODE){ 
     // GET YOUR USER LIST HERE AND USE IT FOR YOUR PURPOSE.  
     user_list=data.getExtra("your_user_list");   
    } 
    } 
} 

Вы можете использовать вещательный передатчик и приемник также для вашего дело. Но выше метод хорош для вашей задачи.

0
ArrayList<Namelist> stateList = contactadapteruser.listexample; 

// convert your ArrayList to a String[] 

String[] arr = new String[stateList.size()]; 

for (int i = 0; i < arr.length; i++) 
{ 
    arr[i] = stateList.get(i).getName(); 
} 

Затем, используя this question в качестве источника, поместить массив строк в своем намерении:

Bundle b = new Bundle(); 
b.putStringArray("selected", arr); 
Intent i = new Intent(Contactselectuser.this,Contactrepresentativedetails.class); 
i.putExtras(b); 
startActivity(i); 

Затем прочитать массив строк из вашей другой деятельности:

Bundle b = getIntent().getExtras(); 
String[] array = b.getStringArray("selected"); 
+0

In for loop, как я могу проверить условие, проверено ли оно или нет? – Sanjeev

+0

привет, пожалуйста, ответьте мне, как для проверки conditon – Sanjeev

+0

@ user3069112 Я не могу сказать вам, как проверить, выбраны ли они флажки. Я ничего не знаю о вашем коде. Вы можете определить, будет ли флажок установлен таким образом: 'checkbox.isChecked()' и он вернет 'true', если он установлен, и' false', если это не так. –

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