Android:如何在另一个textView中打印TextView Title和输入

时间:2014-06-24 22:31:08

标签: android android-layout android-fragments android-edittext

我有一个表单,在我的表单中我有文本视图,标题和textEdit用于输入(TimePicker输入) 我在这个页面中有一个按钮,点击我的按钮后,我想在另一个页面(另一个片段或另一个文本字段)上打印textView标题和textedit输入,只是为了显示我的结果

请你帮我解决这个问题吧! 感谢任何样品或提示!

提前致谢!

2 个答案:

答案 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)设置文本。