2013-07-15 68 views
1

我能够检索我的联系人选择器的联系人列表,现在如何传递stringbuilder并在另一个类中显示出来。我想到了使用意图,但没有奏效。 请帮忙。如何传递stringbuilder并在另一个类中显示

@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); 

回答

2

使用StringBuilder.toString()来传递的StringBuilder进入意向。

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() 

而且在听者不能以此作为上下文对象。你应该使用getApplicationContext()或者ActivityName.this。像

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

//OR 

Intent i = new Intent (getApplicationContext(), SecondActivity.class); 
+0

感谢。现在这条线有错误。 “Intent i = new Intent(this,SecondActivity.class);”它说构造函数的意图是不确定的。我做什么? –

+0

是的,这将是错误的。使用getContext或Activityname.this –

+0

错误。你能告诉我如何编写getContext或Activityname吗?我是新来的android编码。谢谢 –

相关问题