2016-06-28 33 views
1

我送一个字符串从一个活动另一个活动putExtrasgetExtras。 然后我将此字符串显示为TextView。当我回去选择另一个字符串时,它会覆盖TextView中的前一个字符串。 我想将新的字符串放在textView的新行中。 如何做到这一点? (我送一个按钮字符串) 这是我在收到活动代码:传入的TextView一个新字符串,新线

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_completed_tasks); 


    TextView completedTasksView = (TextView)findViewById(R.id.completed_tasks); 


    Intent intent = getIntent(); 

    String completedTasks = intent.getExtras().getString("completedTasks"); 
    completedTasksView.setText(completedTasks); 


} 

} 
+0

您可以使用https://developer.android.com/reference/android/text/Html.html#fromHtml%28java.lang.String,%20int%29,然后使用html-breaks。 –

+0

您可能需要一个RecycleView,这正是它的用途。如果你确实坚持的话,可以用TextView来实现。你连接新的值与旧的(而不是'completedTasksView.setText(completedTasks)'do' completedTasksView.setText(completedTasksView.getText()+ completedTask' –

回答

2

据:TextView

的append(CharSequence的文字)

便捷方法:将指定的 文本附加到TextView的显示缓冲区,将其升级到 如果BufferType.EDITABLE不可编辑,则为BufferType.EDITABLE。

所以使用:

completedTasksView.append("\n" + completedTasks); 
+0

No ..它没有工作..发生了同样的事情..我应该做这个onResume什么的? –

+0

@ThanosTokmakis该方法是正确的,我认为你必须阅读http:// stackoverflow。com/questions/920306 /发送数据回到主要活动在Android中的活动之间的正确使用意图 –

+0

这是我怎么发extras'checkTask.setOnClickListener(new View.OnClickListener(){ @Override 公共无效的onClick(视图v){ 意图意图=新意图(TasksActivity.this,CompletedTasks.class); intent.putExtra( “completedTasks”,tasks.get(0)); startActivity(意向) ; tasks.remove(tasks.get(0)); } });'; –

0

你必须存储您发送以前使用putExtras因为下一次活动将被再次重建,并您以前的数据都将丢失的字符串。为了保存以前的字符串,你可以创建一个静态的数组列表,并在getIntent上添加你的字符串到数组列表,并且当你想打印时使用一个for循环并且创建一个附加了“/ n”的单个字符串,并将这个字符串设置为textview 对于eg 。

public static ArrayList<String> list; 

要添加字符串列表

list.add(completedTasks); 

要创建的ArrayList

String text=""; 
for(int i=0;i<list.size();i++) 
{ 
if(text!="") 
{ 
text=text+"\n"+list(i); 
}else{ 
text=list(i); 
} 
} 
textview.setText(text); 

注意一个字符串: ArrayList的应该是静态的应用程序,而不是内活动,以便确定不同班级的数据列表,然后活动

0

您可以创建一个字符串变量的一个地球仪类每次都会存储您completedTask文本设置文本,当你得到新的字符串...

0

创建一个全局字符串始终追加到它:

String completedTasks = ""; 

     @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_completed_tasks); 


     TextView completedTasksView = (TextView)findViewById(R.id.completed_tasks); 


     Intent intent = getIntent(); 

     completedTasks += "\n" + intent.getExtras().getString("completedTasks"); 
     completedTasksView.setText(completedTasks); 


    } 

    } 
相关问题