Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数据从“扩展活动”的类传递到“扩展片段”的类_Java_Android_Eclipse_Android Intent_Fragment - Fatal编程技术网

Java 将数据从“扩展活动”的类传递到“扩展片段”的类

Java 将数据从“扩展活动”的类传递到“扩展片段”的类,java,android,eclipse,android-intent,fragment,Java,Android,Eclipse,Android Intent,Fragment,我试图做的是将在“扩展活动”类中获得的信息发送到“扩展片段”类,其中“扩展片段”是“PagerAdapter”的一部分 我最初的想法是通过一个意图将信息传递给“扩展片段活动”的类,然后使用“getActivity.getIntent.getExtras”将信息传递给适当的片段,但这似乎不起作用,因为信息必须显示在textView中 下面是我的课程 获取用户信息.java } 这个类所做的是获取用户在EditText上的输入,将它们放入变量中,并通过intent发送这些变量 MainMenu.ja

我试图做的是将在“扩展活动”类中获得的信息发送到“扩展片段”类,其中“扩展片段”是“PagerAdapter”的一部分

我最初的想法是通过一个意图将信息传递给“扩展片段活动”的类,然后使用“getActivity.getIntent.getExtras”将信息传递给适当的片段,但这似乎不起作用,因为信息必须显示在textView中

下面是我的课程

获取用户信息.java

}

这个类所做的是获取用户在EditText上的输入,将它们放入变量中,并通过intent发送这些变量

MainMenu.java

此类包含的是一个方法“getUserInformation”,该方法获取意图,查找EditText id并将意图变量设置为此文本字段

碎片3

在这个类中,我希望在编辑文本框中显示变量,但却很难找到合适的方法来完成此任务

当使用片段而不是普通的活动类时,它会变得更加困难

我只想对我想发生的事情进行一个细分: 1.用户向1次活动输入信息 2.此信息显示在pagerAdapter的一部分片段中


任何帮助都将不胜感激

如果您想在创建片段时传递数据,请使用这样的Bundle

Bundle args = new Bundle();
args.putInt("yourStringName", yourSting);
fragment.setArguments(args);
如果您想从片段中联系封闭活动。您可以使用getActivity方法获取活动实例,并调用要调用的函数。在您的情况下,您甚至可以访问与FragmentActivity关联的意图,并从中访问额外的值


在我的例子中,我正在尝试传递一个浮点数,这是否仍然以相同的方式工作,而不是使用args.putinyourstringname,yourString;?另外,我在Fragment3类中是否使用onCreateView下的getActivity,或者我是否必须在Fragment3中创建一个使用getActivity功能的单独方法?重写onActivityCreated方法。您是否可以提供一些代码,说明我如何根据我的结构实现此功能?
public class MainMenu extends FragmentActivity{

DBAdapter db = new DBAdapter(this); //Initiate DB class methods
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;

//OnCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_menu);
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mSectionsPagerAdapter);   
}

**UNNCESSARY CODE OMMITED**

public void getUserInformation() {
    float maintenance = getIntent().getExtras().getFloat("maintenance");
    float grant = getIntent().getExtras().getFloat("grant");
    float bursary = getIntent().getExtras().getFloat("bursary");
    float barclays = getIntent().getExtras().getFloat("barclays");
    float natwest = getIntent().getExtras().getFloat("natwest");
    float hsbc = getIntent().getExtras().getFloat("hsbc");
    float wallet = getIntent().getExtras().getFloat("wallet");
    EditText maintenanceTxt = (EditText)findViewById(R.id.fragment3_maintenance);
    EditText grantTxt = (EditText)findViewById(R.id.fragment3_grant);
    EditText bursaryTxt = (EditText)findViewById(R.id.fragment3_bursary);
    EditText barclaysTxt = (EditText)findViewById(R.id.fragment3_barclays);
    EditText natwestTxt = (EditText)findViewById(R.id.fragment3_natwest);
    EditText hsbcTxt = (EditText)findViewById(R.id.fragment3_hsbc);
    EditText walletTxt = (EditText)findViewById(R.id.fragment3_wallet);
    maintenanceTxt.setTextSize(maintenance);
    grantTxt.setTextSize(grant);
    bursaryTxt.setTextSize(bursary);
    barclaysTxt.setTextSize(barclays);
    natwestTxt.setTextSize(natwest);
    hsbcTxt.setTextSize(hsbc);
    walletTxt.setTextSize(wallet);
}

MORE UNNECESSARY CODE OMITTED
public class Fragment3 extends Fragment {


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View root = inflater.inflate(R.layout.fragment3, container, false);

    //Set date to TextView
    long date = System.currentTimeMillis();
    SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy");
    String dateString = sdf.format(date);
    TextView t = (TextView) root.findViewById(R.id.textView_date3);
    t.setText(dateString);
    return root;
}
Bundle args = new Bundle();
args.putInt("yourStringName", yourSting);
fragment.setArguments(args);