确定单击哪个按钮以填充Android Listview

时间:2011-08-27 19:52:30

标签: android listview button

我有2项活动 - 说活动A和B. 我的主要活动(A)有2个按钮。单击按钮1时,我启动另一个活动。第二个活动(B)创建一个listview,它使用字符串数组来填充自定义列表项。

现在,当单击活动A中的按钮2时,我想使用活动B中的相同代码填充列表视图,但使用不同的字符串数组。我怎么做?我不想创建另一个活动只是为了替换ListView的字符串arryay。

/ * 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);


   }
  });

/ * ACTIVITY 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 :(得分:0)

您可以使用putExtra将数据传递到活动B.请参阅this问题以获得一个好例子。在您的活动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");