Определите, какая кнопка была нажата, чтобы заполнить Android ListView - PullRequest
0 голосов
/ 27 августа 2011

У меня есть 2 действия - скажем, Задания A и B. У моего основного занятия (A) есть 2 кнопки.Я запускаю другое действие, когда нажимается кнопка 1.Второе действие (B) создает представление списка, которое использует строковый массив для заполнения пользовательских элементов списка.

Теперь, когда нажата кнопка 2 в действии A, я хочу заполнить представление списка, используя тот же код в действии Bно используйте другой массив строк.Как я могу это сделать?Я не хочу создавать другое действие просто для замены строкового массива для ListView.

/ * ACTIVITY A /

 public class mainmenu extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);


 Button button1 = (Button) findViewById(R.id.Button01);
 button.setOnClickListener(new View.OnClickListener() {
 public void onClick(View v) {
       // Perform action on click

 Intent i = new Intent(getApplication(), ActivityB.class);
 startActivity(i);
   });


 Button button2 = (Button) findViewById(R.id.Button02);
 button1.setOnClickListener(new View.OnClickListener() {
 public void onClick(View v) {
  Intent i = new Intent(getApplication(), ActivityB.class);
       startActivity(i);


   }
  });

/ *ДЕЯТЕЛЬНОСТЬ B ****

public class anotheractivity extends ListActivity {




public void onCreate(Bundle icicle) {
super.onCreate(icicle);

    String[] names = getResources().getStringArray(R.array.heading_name);
    String[] descr = getResources().getStringArray(R.array.heading_desc);
    this.setListAdapter(new myArrayAdapter(this, names, descr));
    ListView lv = getListView();

    Resources res = getResources();

    Drawable sm = res.getDrawable(R.drawable.mydivider);


    lv.setDivider(sm);
    lv.setDividerHeight(1);
}

1 Ответ

0 голосов
/ 27 августа 2011

Вы можете передать данные в свою деятельность B, используя putExtra. Пожалуйста, посмотрите этот вопрос для хорошего примера. В своей Деятельности B вы можете получить эти данные и заполнить свой список в соответствии с тем, что было передано.

Для деятельности A:

Intent i = new Intent(ActivityA.this, ActivityB.class);
i.putExtra("arrayToUse", 1);
startActivity(i);

Для действия B вы должны сделать что-то подобное в onCreate:

Bundle extras = icicle.getExtras();
int whichArrayToUse = extras.getInt("arrayToUse");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...