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