Java 以编程方式向xml文件中的字符串数组添加项

Java 以编程方式向xml文件中的字符串数组添加项,java,android,listview,Java,Android,Listview,在ActivityA中,我有一个列表视图和onItemClickListner因此,当我单击一个项目时,我需要保存该项目的标题,以便在ActivityB的列表视图中查看它。我成功地获取单击的项目的标题,我需要的是如何将其发送到活动b或将其添加到xml文件中的字符串数组中,而不启动活动b 两个活动中的ListView代码相同 ListViewcode: 在Android应用程序中,您不能修改任何.xml文件中的内容。您可以通过在用于启动新活动的意图中添加额外内容,将数据发送到新活动 public

ActivityA
中,我有一个
列表视图和
onItemClickListner
因此,当我单击一个项目时,我需要保存该项目的标题,以便在
ActivityB
列表视图中查看它。我成功地获取单击的项目的标题,我需要的是如何将其发送到
活动b
或将其添加到xml文件中的
字符串数组中,而不启动
活动b

两个活动中的
ListView
代码相同

ListView
code:



在Android应用程序中,您不能修改任何.xml文件中的内容。您可以通过在用于启动新活动的意图中添加额外内容,将数据发送到新活动

public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    String title = ((SingleRow) adapterView.getItemAtPosition(i)).title;
    Intent intent = new Intent(getContext(), ActivityB.class);
    intent.putExtra(TITLE, title);
    startActivity(intent);
}
public void onItemClick(AdapterView AdapterView,视图视图,int i,long l){
字符串标题=((单行)adapterView.getItemAtPosition(i)).title;
Intent Intent=新的Intent(getContext(),ActivityB.class);
意向书(头衔、头衔);
星触觉(意向);
}
在上面的代码中,
TITLE
是一个常量
String
键,可供
ActivityA
ActivityB
访问。它的值是任意的,因为它只是在运行时用作键


编辑:如果您想存储来自
ActivityA
的数据,以便以后
ActivityB
可以显示它,则需要使用Android的一种持久数据机制。这些在指南主题中进行了描述。最简单的方法可能是将
集合
存储在共享首选项中。(遗憾的是,共享首选项没有存储字符串数组的方法。如果需要保留字符串的顺序,则需要使用其他机制之一,或者执行一些额外的工作来使用共享首选项。例如,可以将字符串数组编码为,并将其存储为字符串。)

但我不想启动
活动b
。所以我试着用
SharedReferences
来做这件事,但我不能把它放在ActivityB的ListView中,因为它是一个字符串,ListView需要字符串数组=string[]@user2989698-如果你不想启动
ActivityB
,你说的“发送到
ActivityB
”是什么意思?我想做的是
“我的最爱”
活动,我指的是
活动b
。所以我想从ActivityA
的列表视图中选择一些行,并将其作为我最喜欢的行放在ActivityB中。。。我希望这能解释我想要什么对不起我的坏english@user2989698-我明白了。听起来您需要存储用户在
ActivityA
中所做操作的结果,以便以后
ActivityB
可以使用这些数据。我编辑了我的答案来解决这个问题。
public class Examples extends Activity {


ListView list;
@Override

protected void onCreate(Bundle savedInstanceState) {



    super.onCreate(savedInstanceState);
     setContentView(R.layout.examplesandlaws);

        list = (ListView) findViewById(R.id.listView);
        list.setAdapter(new Adapter(this));

    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        }
    });

}
}
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    String title = ((SingleRow) adapterView.getItemAtPosition(i)).title;
    Intent intent = new Intent(getContext(), ActivityB.class);
    intent.putExtra(TITLE, title);
    startActivity(intent);
}