Android 将stringbuilder从一个活动传递到另一个活动

Android 将stringbuilder从一个活动传递到另一个活动,android,android-intent,Android,Android Intent,我试图将带有城市名称复选框的列表视图作为项目从一个活动传递到另一个活动。我正在StringBuilder中成功检索选中的城市。 问题在于,当我尝试将stringbuilder对象从一个活动转移到另一个活动时。任何帮助都将不胜感激 Java文件: public class TailoredtwoActivity extends Activity implements OnItemClickListener, OnClickListener{ StringBuilder builder;

我试图将带有城市名称复选框的列表视图作为项目从一个活动传递到另一个活动。我正在StringBuilder中成功检索选中的城市。 问题在于,当我尝试将stringbuilder对象从一个活动转移到另一个活动时。任何帮助都将不胜感激

Java文件:

public class TailoredtwoActivity extends Activity implements OnItemClickListener, OnClickListener{

    StringBuilder builder;
    Button btn1;
    ListView mListView;
    String[] array = new String[] {"Ham", "Turkey", "Bread"};

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tailoredtwo);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, array);

        mListView = (ListView) findViewById(R.id.listViewcity);
        mListView.setAdapter(adapter);
        mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

        Button button = (Button) findViewById(R.id.btn_tailortwo_submit);
        button.setOnClickListener(this);
    }

    public void onClick(View view) {
        SparseBooleanArray positions = mListView.getCheckedItemPositions();
        builder = new StringBuilder();
        for(int index = 0; index < array.length; index++) {
            if(positions.get(index)==true)
            {
                builder.append(array[index]);
                builder.append(" ");
            }
        }
        Intent i1 = new Intent(this, TailoredthreeActivity.class);
        i1.putExtra(android.content.Intent.EXTRA_TEXT, builder);
        startActivity(i1);
    }


    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub

    }
}
公共类TailoredtwoActivity扩展活动实现OnItemClickListener、OnClickListener{
架线工;
按钮btn1;
列表视图;
字符串[]数组=新字符串[]{“火腿”、“火鸡”、“面包”};
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u tailoredtwo);
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u list\u item\u选中,数组);
mListView=(ListView)findViewById(R.id.listViewcity);
mListView.setAdapter(适配器);
mListView.setChoiceMode(ListView.CHOICE\u MODE\u MULTIPLE);
按钮按钮=(按钮)findViewById(R.id.btn\u Tailor两次提交);
setOnClickListener(此);
}
公共void onClick(视图){
SparseBooleanArray positions=mListView.GetCheckEditePositions();
生成器=新的StringBuilder();
for(int index=0;index
您可以传递
StringBuilder
保存的字符串,而不是传递整个
StringBuilder
。在另一个
活动中
检索该
字符串
,并使用

StringBuilder stringBuilder = new StringBuilder(currentString);

问题出在哪里?它应该运行,因为
StringBuilder
Serializable
。。。您是否在第二个活动中尝试了
Intent.getSerializableExtra(…)
并将其强制转换为
StringBuilder
。。。当然,黑带的解决方案在这里更好。。。