gpt4 book ai didi

android - 如何在单个 Activity 中收集 ArrayList

转载 作者:行者123 更新时间:2023-11-30 04:33:09 27 4
gpt4 key购买 nike

我正在制作一个应用程序,该应用程序的主要 Activity 有 6 个图像按钮。主要 Activity 的代码是

包 org.personal.reader;

public class MainActivity extends Activity implements
Button.OnClickListener {

ArrayList<String> activeURL = new ArrayList<String>();
private Button Done, Refresh;
int i=0;
private ImageButton B1, B2, B3, B4, B5, B6;
public static final String LOG_TAG = "Main Activity";

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Done = (Button)findViewById(R.id.DONE);
Done.setOnClickListener(this);
Refresh = (Button)findViewById(R.id.REFRESH);
Refresh.setOnClickListener(this);
B1 = (ImageButton)findViewById(R.id.news1);
B1.setOnClickListener(this);
B2 = (ImageButton)findViewById(R.id.sports1);
B2.setOnClickListener(this);
B3 = (ImageButton)findViewById(R.id.weather1);
B3.setOnClickListener(this);
B4 = (ImageButton)findViewById(R.id.entertainment1);
B4.setOnClickListener(this);
B5 = (ImageButton)findViewById(R.id.health1);
B5.setOnClickListener(this);
B6 = (ImageButton)findViewById(R.id.tech1);
B6.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if ( v==B1)
{
Intent intent = new Intent(MainActivity.this, Reader.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);

}

if ( v==B2 )
{
Intent intent = new Intent(MainActivity.this, Reader2.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}

if ( v==B3 )
{
Intent intent = new Intent(MainActivity.this, Reader3.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}

if ( v==B4 )
{
Intent intent = new Intent(MainActivity.this, Reader4.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}

if ( v==B5 )
{
Intent intent = new Intent(MainActivity.this, Reader5.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}

if ( v==B6 )
{
Intent intent = new Intent(MainActivity.this, Reader6.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}
if (v==Done)
{ ArrayList<String> array =add();
Bundle bundle = new Bundle();
bundle.putStringArrayList("DONE", array);
Intent myIntent = new Intent(MainActivity.this,Aggregator.class);
myIntent.putExtra("agg", array);
startActivity(myIntent);
}
}
public ArrayList<String> add()
{
Bundle bundle=this.getIntent().getExtras();
ArrayList<String> temp = bundle.getStringArrayList("reader");
ArrayList<String> temp1 = new ArrayList<String>();
temp1=temp;
if (temp1!=null)
activeURL.addAll(temp1);
return activeURL;
}
}

点击任何一个单选按钮,一个新的 Activity 打开。其中一项 Activity 的代码是

public class Reader extends Activity implements
Button.OnClickListener {

/** Called when the activity is first created. */
private RadioButton RB1, RB2, RB3, RB4, RB5;
private Button Done;
ArrayList<String> activeURL1 = new ArrayList<String>();
public static final String LOG_TAG = "Activity 1";

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
RB1 = (RadioButton) findViewById(R.id.BBC);
RB2 = (RadioButton) findViewById(R.id.Guardian);
RB3 = (RadioButton) findViewById(R.id.msnbc);
RB4 = (RadioButton) findViewById(R.id.Sky);
RB5 = (RadioButton) findViewById(R.id.FOX);
Done = (Button) findViewById(R.id.DONE);
Done.setOnClickListener(this);
}

@Override

public void onClick(View v) {
String[] array;
array = new String[5];

array[0] = "http://feeds.bbci.co.uk/news/world/rss.xml";
array[1] = "http://feeds.guardian.co.uk/theguardian/rss";
array[2] = "http://rss.msnbc.msn.com/id/3032506/device/rss/rss.xml";
array[3] = "http://news.sky.com/sky-news/rss/world-news/rss.xml";
array[4] = "http://www.foxnews.com/about/rss/feedburner/foxnews/most-popular";

if (RB1.isChecked() == true)
activeURL1.add(array[0]);
if (RB2.isChecked() == true)
activeURL1.add(array[1]);
if (RB3.isChecked() == true)
activeURL1.add(array[2]);
if (RB4.isChecked() == true)
activeURL1.add(array[3]);
if (RB5.isChecked() == true)
activeURL1.add(array[4]);

if(v==Done)
{
Bundle bundle = new Bundle();
bundle.putStringArrayList("DONE", activeURL1);
Intent myIntent = new Intent(Reader.this,MainActivity.class);
myIntent.putExtra("reader", activeURL1);
startActivity(myIntent);
}
}
}

我有 6 个 Activity ...我需要从每个 Activity 传递一个数组 Arraylist 并在 MainActivity 中收集一个 Arraylist...最后将这个列表传递给另一个类。

如何从所有 Activity 中传递这个列表并在主要 Activity 中收集它?

最佳答案

如果您有一个数组列表,您希望在整个系统中都可以访问它,您可以在 Application 类中放置一个持有者数组列表,并提供 getter 和 setter,以便系统可以在全局范围内使用它。如果它只需从一项 Activity 转移到另一项 Activity 一次,我建议将其放入 bundle 中。

关于android - 如何在单个 Activity 中收集 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com