package com.example.day05.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.day05.R;
/**
-
A simple {@link Fragment} subclass.
*/
public class SecondFragment extends Fragment {private Button button;
private EditText editText;
//初始化接口
private MyListener myListener;
//让生命周期进行的时候就调用myListener
@Override
public void onAttach(Context context) {
super.onAttach(context);myListener = (MyListener) getActivity();
}
public SecondFragment() {
// Required empty public constructor
}@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View inflate = inflater.inflate(R.layout.fragment_second, container, false);
button= inflate.findViewById(R.id.button);
editText= inflate.findViewById(R.id.editText);
//给按钮添加监听
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//把输入的字符串获取到
String string = editText.getText().toString();
//把string发送给接口
myListener.sendMessage(string);
}
});
return inflate;
}
//定义接口
public interface MyListener{
void sendMessage(String string);
}
}
package com.example.day05;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.example.day05.fragment.SecondFragment;
//实现定义的接口
public class F2AActivity extends AppCompatActivity implements SecondFragment.MyListener {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_f2_a);
textView = findViewById(R.id.textview_id);
}
//重写接口中的方法
@Override
public void sendMessage(String string) {
//把传过来的string设置在textView中
textView.setText(string);
}
}