我很擅长使用Fragments.
我只是想构建一个使用Fragments的简单示例应用程序.我的方案是,我有两个活动,每个活动中有一个片段.第一个片段有一个edittext和一个按钮.第二个片段有一个textview.当我在edittext中输入名称并单击按钮时,第二个片段中的textview应显示在第一个片段的edittext中输入的名称.
我能够将第一个片段的值发送到它的活动,然后从该活动发送到第二个活动.现在我如何在第二个片段中使用此值.
这是Java代码:::
package com.example.fragmentexample;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Fragment_1 extends Fragment{
OnFragmentChangedListener mCallback;
// Container Activity must implement this interface
public interface OnFragmentChangedListener {
public void onButtonClicked(String name);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception …Run Code Online (Sandbox Code Playgroud) 我试图在程序中的两个fragmens之间传递数据.它只是一个存储在List中的简单字符串.List在片段A中公开,当用户点击列表项时,我需要它显示在片段B中.内容提供者似乎只支持ID,因此不起作用.有什么建议?
是否可以通过滑动将数据从片段传递到片段?
有许多文章教我们如何将数据从片段传递到片段,但大多数文章或问题都在其第一个片段中实现了OnClickListener,用于将值传递给另一个片段.
但我的情况是从两个片段传递数据而没有任何按钮点击,最后通过单击最后一个片段中的按钮将它们保存在不同的表中.我能做些什么来实现这个目标?
流程为 Information>> WorkForce>> WorkDetailsTable并通过单击按钮将它们保存到不同的表中.
我试图解决它,但我在SQLite中得到NULL值.我想我错过了很多,但不知道.请帮助我...我已经被困在这里超过两天了......谢谢
Tab.java
public class Tab extends ActionBarActivity implements ActionBar.TabListener {
ViewPager Tab;
TabPagerAdapter TabAdapter;
ActionBar actionBar;
public static String name = null;
public static String subContractors = null;
// will be used for data communication
public static Force force_bean;;
public static Info info_bean;
public static Force getForce(){
return force_bean;
}
public static void setForce(Force force){
force_bean=force;
}
public static Info getInfo(){
return info_bean;
}
public static void setInfo(Info info){
info_bean=info; …Run Code Online (Sandbox Code Playgroud) 我创建的两个片段名称是Frag_A和Frag_B.在Frag_A中,我显示listview中的所有数据.并且还有更新按钮.在Frag_B中有编辑文本和保存按钮.首先,当用户从列表视图中选择一个项目,然后单击upadate.当点击更新时,Frag_A被Frag_B替换并在编辑文本中显示所选列表视图中的选定项目,用户进行更改并保存.如何实现此演示?提前致谢.
我的DatabaseAdapter文件是DBAdapter.java文件
package com.dlcpl.insert_view;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBAdapter {
public static final String KEY_TEXT="text";
public static final String TAG="DBAdapter";
public static final String DATABASE_NAME="taskmanager.db";
public static final String DATABAS_TABLE="text_table";
public static final int DATABASE_VERSION=1;
public static final String DATABASE_CREATE="create table "+DATABAS_TABLE+"("+KEY_TEXT+" varchar(500) not null);";
public final Context context;
public DatabaseHelper DBHelper;
public SQLiteDatabase db;
public DBAdapter(Context ctx)
{
this.context=ctx;
DBHelper=new DatabaseHelper(context);
}
private …Run Code Online (Sandbox Code Playgroud) 我有两个片段,假设A和B,其中B包含一个列表。我想在片段B上添加一个侦听器,以通知片段A所选列表项。我不知道如何在片段B中初始化侦听器,因为在片段的构造函数中传递参数是一种不好的做法。
注意:片段B包含在片段A中。即片段A中有一个FrameLayout;片段B覆盖了那个FrameLayout。
知道我该怎么做吗?
关于如何在片段之间发送信息似乎存在一些争论点.例如,假设我有两个SherlockFragments,一个包含文本字段和一个按钮,它允许我将项目添加到列表,然后是第二个打印出该列表的片段.一篇帖子建议将数据直接从一个标签发送到另一个标签:如何将一些数据传输到另一个片段?.另一个建议使用Otto或Roboguice:如何在片段之间传递数据.
因为我是新手,而且我发现的一些内容可能已经过时,我非常感谢有关如何完成这个简单专长的任何建议(如果是!).
非常感谢你的帮助.