Android 返回上一个活动时列表视图中的项目重载

Android 返回上一个活动时列表视图中的项目重载,android,Android,我有两个活动。活动(1)包含项目列表,我将使用活动(1)上的onitemclick调用活动(2)。所以这里的问题是,当我回到活动(2)到活动(1)时,活动(1)中的项目又被添加了(只是增加了一倍)。我怎样才能阻止这一切?谁能告诉我吗。我是android的初学者。应该感谢你的帮助 活动(1) 公共类活动扩展活动{ 创建时受保护的void(Bundle SavedInstanceState){ super.onCreate(SavedInstanceState); setContentView(R.

我有两个活动。活动(1)包含项目列表,我将使用活动(1)上的
onitemclick
调用活动(2)。所以这里的问题是,当我回到活动(2)到活动(1)时,活动(1)中的项目又被添加了(只是增加了一倍)。我怎样才能阻止这一切?谁能告诉我吗。我是android的初学者。应该感谢你的帮助

活动(1)

公共类活动扩展活动{
创建时受保护的void(Bundle SavedInstanceState){
super.onCreate(SavedInstanceState);
setContentView(R.layout.displayclass);
Log.i(“我在显示类”、“活动”);
listview=(listview)findViewById(R.id.classlistView1);
cv=(ListView)findViewById(R.id.classlistView1);
setOnItemClickListener(单击Listener);
@凌驾
受保护的空onDestroy(){
super.ondestory();
}
@凌驾
受保护的void onPause(){
super.onPause();
}
@凌驾
受保护的void onRestart(){
super.onRestart();
}
@凌驾
受保护的void onResume(){
super.onResume();
}
@凌驾
受保护的void onStart(){
super.onStart();
ArrayAdapter ArrayAdapter 3=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,您的_array_list3);
cv.setAdapter(arrayAdapter3);
试一试{
class_list.main();
}捕获(例外e){
e、 printStackTrace();
}
}
@凌驾
受保护的void onStop(){
super.onStop();
}
公共静态类ItemClickListener实现了McClickListener{
@凌驾
public void onItemClick(适配器视图适配器、视图视图、整型位置、长id){
c3=类别列表。c2[位置];
Log.i(“c3”,c3.getName());
意图myIntent2=新的
意图(view.getContext(),方法\u on\u class\u list\u activity.class);
view.getContext().startActivity(myIntent2);
}

这是我在课堂上的方法列表活动(2)

public class Methods\u on\u class\u list\u活动扩展活动{
私有ListView ListView,mv;
@SuppressWarnings({“unchecked”,“rawtypes”})
public static ArrayList your_array_list9=new ArrayList();
公共项clicklistener clicklistener=新项clicklistener();
公共静态法c5;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.method\u显示);
listview=(listview)findViewById(R.id.fromclassto_methodlist);
mv=(ListView)findViewById(R.id.fromclassto_methodlist);
setOnItemClickListener(单击Listener);
}
@凌驾
受保护的空onDestroy(){
super.ondestory();
}
@凌驾
受保护的void onPause(){
super.onPause();
}
@凌驾
受保护的void onRestart(){
super.onRestart();
}
@凌驾
受保护的void onResume(){
super.onResume();
}
@凌驾
受保护的void onStart(){
super.onStart();
ArrayAdapter ArrayAdapter 3=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,您的_array_list9);
中压设置适配器(阵列适配器3);
试一试{
方法_List.methodexecution();
}捕获(例外e){
e、 printStackTrace();
}
}
@凌驾
受保护的void onStop(){
super.onStop();
}
公共静态类ItemClickListener实现了McClickListener{
@凌驾
public void onItemClick(适配器视图适配器、视图视图、整型位置、长id){
c5=参数_List.metd[位置];
Log.i(“c3”,c5.getName());
Intent myIntent2=新的Intent(view.getContext(),Parameterlist\u activity.class);
view.getContext().startActivity(myIntent2);
}
活动-1

1. onRestart()
2. onStart()
3. onResume()
单击列表项一次

1)onPause()
5)onStopt()
活动-2

2)OnCreate()
3)onStrat()
4)OnResume()
返回活动1时

1. onRestart()
2. onStart()
3. onResume()
因此,从
onStart()
中删除您的代码,该程序将项目添加到
ListView

这就是为什么它加了两次


希望这会对您有所帮助。

Classes_list class.wr的main()方法的Post代码我是否应该添加listView sirArrayAdapter ArrayAdapter 3=new ArrayAdapter(这个,android.R.layout.simple_list_item_1,您的_数组_list9);mv.setAdapter(ArrayAdapter 3);尝试{Methods_list.methodexecution()}捕获(例外e){e.printStackTrace();}将此代码放在活动(1)的onCreate中。@Chitrang先生,我添加了此代码,但当我运行活动应用程序时,它将消失。
2)OnCreate()
3)onStrat()
4)OnResume()
1. onRestart()
2. onStart()
3. onResume()