1

我可以为我的联系人选择器检索联系人列表,现在如何传递字符串生成器并在另一个类中显示出来。我想过使用意图,但它没有用。请帮忙。

 @Override
        public void onClick(View v) {
            StringBuilder checkedcontacts= new StringBuilder();
            System.out.println("............"+ma.mCheckStates.size());
            for(int i = 0; i < name1.size(); i++)
                {
                if(ma.mCheckStates.get(i)==true)
                {
                     checkedcontacts.append(name1.get(i).toString());
                     checkedcontacts.append("\n");
                }
                else
                {
                    System.out.println("..Not Checked......"+name1.get(i).toString());
                }

            }

          finish();

          Intent i = new Intent (this,SecondActivity.class);
         i.putExtra("str",checkedcontacts);
         startActivity(i);


        }       
    });
}

错误:

Intent i = new Intent (this,SecondActivity.class);
             i.putExtra("str",checkedcontacts);
             startActivity(i);
4

2 回答 2

2

使用 StringBuilder.toString() 将 StringBuilder 传递给 Intent。

 Intent i = new Intent (this,SecondActivity.class);
 i.putExtra("str",checkedcontacts.toString());
 startActivity(i);

你应该finish();在上面的代码片段之后使用。喜欢

 //finish() //Remove this finish
 Intent i = new Intent (this,SecondActivity.class);
 i.putExtra("str",checkedcontacts.toString());
 startActivity(i);
 finish()

而在listner 中,您不能将其用作上下文对象。您应该使用 getApplicationContext() 或 ActivityName.this。喜欢

Intent i = new Intent (YourACTIVITYName.this, SecondActivity.class);

//OR

Intent i = new Intent (getApplicationContext(), SecondActivity.class);
于 2013-07-15T08:33:26.577 回答
0

是的,StringBuilder::toString(),参见参考:http ://docs.oracle.com/javase/tutorial/java/data/buffers.html

于 2013-07-15T08:38:06.837 回答