我有一个表单,在我的表单中我有文本视图,标题和textEdit用于输入(TimePicker输入) 我在这个页面中有一个按钮,点击我的按钮后,我想在另一个页面(另一个片段或另一个文本字段)上打印textView标题和textedit输入,只是为了显示我的结果
请你帮我解决这个问题吧! 感谢任何样品或提示!
提前致谢!
答案 0 :(得分:1)
1。 你可以使用Toast。让我们说TextView有id“title”,editText有id“timePicker”和id为“button”的按钮。
所以在onCreate方法中你有:
TextView textViewTitle = (TextView) findViewById(R.id.title);
EditText EditTextTimePicker = (EditText) findViewById(R.id.timePicker);
Button button= (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Title is: " + textViewTitle.getText().toString() + " and time picker is: " + EditTextTimePicker .getText().toString() ,
Toast.LENGTH_LONG).show();
}
});
2
您可以使用意图打开新视图(活动),并根据此意图添加要携带到新视图的数据。
Intent i = new Intent(curentView.this, newView.class);
i.putExtra("title", <valueOfTitleField>);
i.putExtra("timePicker", <valueOfEditTextField>);
startActivity(i);
当新活动开始时,您可以使用。
获取这些值Bundle extras = getIntent().getExtras();
String title= extras.getString("title");
String timePciker = extras.getString("timePicker");
在这个新活动中,您可以使用此变量设置2个TextView。
我希望您能理解,如果不能,我可以为您创建simepl应用程序,并为您提供源文件。
编辑:哦,你要求片段,然后我的答案对你没什么帮助,sry。答案 1 :(得分:0)
如果您使用多项活动,Jure的实施将会很有效。如果您使用一个活动和多个片段,我提供了一个可行的答案。
为了在内部打印标题和在另一个片段中打印EditText,我建议您在主要活动中实现一个发送标题的监听器,因为最好不要将片段链接在一起。因此,您可以在MainActivity中使用此侦听器来连接片段通信。例如
MainActivity.java
public class MainAcitivity extends FragmentActivity implements SendingFragment.Communicator{
}
public void respond(String title){
ReceivingFragment.changeData(title);
}
SendingFragment.java
public class SenderFragment extends Fragment {
public SenderFragment() {
// Required empty public constructor
}
Communicator comm;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_sender, container, false);
this.setCommunicator((Communicator) getActivity());
EditText send = (EditText)view.findViewById(R.id.send);
Button btnClick = (Button)view.findViewById(R.id.click);
btnClick.setOnClickListener(new VIew.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String timePicker = send.getText().toString();
respond(timePicker);
}
});
return view;
}
public void setCommunicator(Communicator comm){
this.comm = comm;
}
public interface Communicator{
void respond(String timePicker);
}
这样,当您使用comm.respond(timepicker)
从片段发出字符串时,将调用MainActivities响应方法,然后通过您在ReceivingFragment中创建的changeData方法调用要发送信息的片段。的.java。收到数据后,您可以通过EditText.setText(Timepicker)设置文本。