Java 将字符串数据从活动发送到片段
我想将一个字符串从Activity(MainActivity.java)发送到片段(Tozihat.java)并设置为文本视图,但它给出了一个错误。 我检查了其他主题,但找不到问题的解决方案 来自数据库方法的代码我写入id+1,因为listView中的第一个项目位置为0,但第一个id为1:Java 将字符串数据从活动发送到片段,java,android,sqlite,fragment,android-sqlite,Java,Android,Sqlite,Fragment,Android Sqlite,我想将一个字符串从Activity(MainActivity.java)发送到片段(Tozihat.java)并设置为文本视图,但它给出了一个错误。 我检查了其他主题,但找不到问题的解决方案 来自数据库方法的代码我写入id+1,因为listView中的第一个项目位置为0,但第一个id为1: public String Tozihat(int id) { int id2 = id + 1; String query = "SELECT Tozihat FROM tbl_mi
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;
}
来自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);
}
});
请帮帮我 在listview项目中添加以下代码单击活动中的listner:
Tozihat gTozihat = new Tozihat().newInstance("Data");
getSupportFragmentManager().beginTransaction()
.replace(R.id.textViewTozihat, gTozihat).commit();
在你的片段中:
private static final String TYPE = "DATA_KEY";
public static Tozihat newInstance(String type) {
Tozihat fragment = new Tozihat();
Bundle args = new Bundle();
args.putString(TYPE, type);
fragment.setArguments(args);
return fragment;
}
你的主要活动代码是什么??为什么要同时调用
startActivity
和.code>commit??你能解释一下吗?你的问题是你在活动中加入了片段,同时又开始了新的活动。Tozihat片段尚未在MainActivity中处理。这里是逻辑例外我从未处理过片段我不知道。我删除了意图,但仍然被强制停止读取它是错误的…请检查编辑的代码谢谢,但它是强制停止!!!
private static final String TYPE = "DATA_KEY";
public static Tozihat newInstance(String type) {
Tozihat fragment = new Tozihat();
Bundle args = new Bundle();
args.putString(TYPE, type);
fragment.setArguments(args);
return fragment;
}