【发布时间】:2017-04-01 14:32:58
【问题描述】:
我的 MainActivity 中有这个方法,我想在片段上的按钮中同时使用这两种方法,但我不知道如何将片段中的 EditText 的数据发送到 Activity 并使用按钮。
public void alta(View v) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this);
SQLiteDatabase bd = admin.getWritableDatabase();
String nome = et1.getText().toString();
String edad = et2.getText().toString();
String geno = et3.getText().toString();
String curp = et4.getText().toString();
ContentValues registro = new ContentValues();
registro.put("nombre", nome);
registro.put("edad", edad);
registro.put("genero", geno);
registro.put("curp", curp);
bd.insert("usuarios", null, registro);
bd.close();
et1.setText("");
et2.setText("");
et3.setText("");
et4.setText("");
Toast.makeText(this, "Se cargaron los datos",
Toast.LENGTH_SHORT).show();
}
public void modificacion(View v) {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this);
SQLiteDatabase bd = admin.getWritableDatabase();
String nome = et1.getText().toString();
String edad = et2.getText().toString();
String geno = et3.getText().toString();
String curp = et4.getText().toString();
ContentValues registro = new ContentValues();
registro.put("nombre", nome);
registro.put("edad", edad);
registro.put("genero", geno);
registro.put("curp", curp);
int cant = bd.update("usuarios", registro, "curp=" + curp, null);
bd.close();
if (cant == 1)
Toast.makeText(this, "se modificaron los datos", Toast.LENGTH_SHORT)
.show();
else
Toast.makeText(this, "no existe un usuario con ese nombre",
Toast.LENGTH_SHORT).show();
}
我在片段类中有这个,但我不知道如何传递 EditTexts 值。
public class Fragment1 extends Fragment {
EditText iet1,iet2,iet3,iet4;
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
iet1 = (EditText) getActivity().findViewById(R.id.et1);
iet2 = (EditText) getActivity().findViewById(R.id.et2);
iet3 = (EditText) getActivity().findViewById(R.id.et3);
iet4 = (EditText) getActivity().findViewById(R.id.et4);
}
public Fragment1() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragmento1, container, false);
return rootView;
}
}
【问题讨论】:
-
我没有使用 sqlite,但是为了将数据从片段发送到活动,您可以创建一个带有共享数据方法的接口,在您的活动中实现该接口并从您的 onViewCreate 实例化该接口片段并使用该方法在这里发送数据一个很好的教程youtube.com/watch?v=VyyGP_d0Ia8
-
尝试使用 Intent Check This
-
使用接口从fragment到activity进行通信
标签: android sqlite android-fragments android-activity android-edittext