Hallo ich möchte eine Zeichenfolge von Activity (MainActivity.java) an die zu dem Fragment (Tozihat.java) senden und auf eine TextView setzen, aber es gibt einen Fehler. Ich habe andere Themen überprüft, aber ich kann keine Lösung meines Problems finden.senden String-Daten von Aktivität zu Fragment
Code Aus Datenbank Methode schreiben i id + 1, da das erste Element Position von Listview ist 0, aber die erste ID ist 1:
public String Tozihat(int id) {
int id2 = id + 1;
String query = "SELECT Tozihat FROM tbl_mive WHERE ID ="+id2;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query , null);
String t;
cursor.moveToFirst();
t = cursor.getString(0);
return t;
}
Code von meinem MainActivity.Java
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this , ClickActivity.class);
String t = myDbHelper.Tozihat(position);
Bundle bundle=new Bundle();
Tozihat tozihat = new Tozihat();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.textViewTozihat , tozihat, null);
bundle.putString("Tozihat", t);
tozihat.setArguments(bundle);
fragmentTransaction.commit();
startActivity(intent);
}
});
Code von meinem Faragment (Tozihat.java)
public class Tozihat extends Fragment{
TextView textViewTozihat;
DataBaseHelper myDbHelper;
String Tozihat;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_tozihat, container, false);
myDbHelper = new DataBaseHelper(getActivity());
textViewTozihat = (TextView) view.findViewById(R.id.textViewTozihat);
Tozihat = getArguments().getString("Tozihat");
textViewTozihat.setText(Tozihat);
return view;
}
bitte helfen Sie mir!
zeigen Sie Ihre logcat – SripadRaj
Was Sie MainActivity-Code ?? Warum rufst du 'startActivity' und .commit' gleichzeitig an? Kannst du das bitte erklären? – Sanoop
Ihr Problem ist, dass Sie Fragment in Aktivität setzen und gleichzeitig neue Aktivität starten. Tozihat-Fragment wurde in MainActivity noch nicht abgewickelt. Hier ist Logik Ausnahme –