我有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);
}
答案 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");