相关疑难解决方法(0)

如何将一些数据传输到另一个片段?

如何将一些数据转移到另一个数据Fragment同样extras用于intents

android android-fragments

183
推荐指数
5
解决办法
21万
查看次数

Android:在片段之间传递对象

在我开始之前,我已经看过如下问题:

在片段之间传递数据:屏幕重叠 如何在片段之间传递值

以及Android文档:

http://developer.android.com/training/basics/fragments/communicating.html

以及这篇文章:

http://manishkpr.webheavens.com/android-passing-data-between-fragments/

虽然上面提到的所有情况都与我的相似,但并不完全相同.我在这里遵循了一个很好的教程(我的部分代码基于这篇文章):

http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/

我有以下文件:

RegisterActivity.java
NonSwipeableViewPager.java
ScreenSliderAdapter.java
RegisterOneFragment.java
RegisterTwoFragment.java

以下布局:

activity_register.xml
fragment_register_one.xml
fragment_register_two.xml

我想要实现的是将Serializable对象从RegisterFragmentOne传递给RegisterFragmentTwo.

到目前为止,这就是我所做的(省略了一些代码):

RegisterActivity.java

public class RegisterActivity extends FragmentActivity
             implements RegisterOneFragment.OnEmailRegisteredListener{

    public static NonSwipeableViewPager viewPager;
    private ScreenSliderAdapter mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        // Initilization
        mAdapter = new ScreenSliderAdapter(getSupportFragmentManager());
        viewPager = (NonSwipeableViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(mAdapter);
    }

    public void onEmailRegistered(int position, Registration regData){
        Bundle args = new Bundle();
        args.putSerializable("regData", regData);
        viewPager.setCurrentItem(position, true);
    }
}
Run Code Online (Sandbox Code Playgroud)

ScreenSliderAdapter.java

public class ScreenSliderAdapter extends FragmentPagerAdapter{

    public …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments

8
推荐指数
2
解决办法
3万
查看次数

在同一个Activity中的Fragments之间传递数据

我正在一个项目中工作,该项目包含许多片段的活动.现在我需要在这些片段之间共享一些数据(整数,字符串,arraylist).

我第一次使用静态字段,但我认为这是一个糟糕的方式然后我找到了这个解决方案.

但在我的情况下,没有按钮可以点击我只需要在片段之间导航是否有任何简单的方法来在片段之间共享数据

android android-fragments

7
推荐指数
3
解决办法
8226
查看次数

在片段之间传递数据

我想将用户ID从主Activity转移到片段.

所以在主要活动中,我做:

 Fragment fragment = new Fragment();
 final Bundle bundle = new Bundle();
 bundle.putString("id_User", id);
 Log.i("BUNDLE", bundle.toString());
 fragment.setArguments(bundle); 
Run Code Online (Sandbox Code Playgroud)

在日志中我可以看到

BUNDLE : Bundle[{id_User=1}]
Run Code Online (Sandbox Code Playgroud)

在片段中,我测试它 onCreate

Bundle arguments = getArguments();
if (arguments != null)
{
Log.i("BUNDLE != null","NO NULL");
} else {
Log.i("BUNDLE == null","NULL");
}
Run Code Online (Sandbox Code Playgroud)

我有

BUNDLE == null: NULL
Run Code Online (Sandbox Code Playgroud)

所以转移是成功的,但我怎样才能收到片段中的数据呢?

android bundle android-fragments

6
推荐指数
1
解决办法
1万
查看次数

Android:不推荐使用getIntent()

我的程序包含一个MainActivity和两个片段活动.我需要一个片段从用户获取String值并将其传递给第二个片段.

我试图围绕如何做到这一点.由于我熟悉意图,我在另一篇文章中找到了这个答案,并决定尝试一下.一切都看起来很好,直到我进入第4步,当我尝试i = getIntent();在我的第二个片段中使用Intent 时,Studio不会让我使用它并说"getIntent(java.lang.String) is deprecated".

这对我来说没有意义,因为我已经getIntent()在其他程序中使用了没有问题,而且它让我在我MainActivity(在另一篇文章中的第2步)中使用它而不会尖叫我.

我知道这可以在不使用意图的情况下完成,但我无法弄明白,也无法找到任何真正完整的教程.所以我想我的问题是:

  1. 我可以为此目的使意图工作吗?我该怎么做才能解决这个弃用问题?
  2. 任何其他建议,解释或链接"解释它就像我5"教程将是非常有帮助和欢迎.我用Google搜索并阅读了一些,但我仍然不理解这一点,并且变得越来越沮丧.看起来这应该是一个相对简单的概念.

android android-intent android-fragments

5
推荐指数
2
解决办法
5840
查看次数

如何在片段中传递值?

我是安卓新手。我正在尝试按照这些视频链接中的教程进行操作。我知道这里有很多教程和我的相同问题,但我想知道当我单击提交按钮时我的应用程序停止的确切原因。抱歉,我还不熟悉它们在 android studio 中的功能以及系统的工作原理。我尝试创建 2 个片段,顶部和底部片段。在顶部片段中有一个提交表单。当我点击提交按钮时。该值将显示到底部片段。这就像将值传递给另一个片段。我创建了一个片段类名 TopSectionFragment

package com.example.aldrin.fragmenttutorial;

import android.content.Context;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.app.Activity;
import android.widget.Button;
import android.widget.EditText;

public class TopSectionFragment extends Fragment{
    @Nullable
    private static EditText topTextInput;
    private static EditText bottomTextInput;

    TopSectionListener activityCommander;

    public interface TopSectionListener{
        public void createMem(String top, String bottom);
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);

        Activity activity = context instanceof Activity ? (Activity) context : null;

        try{
            activityCommander = …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

1
推荐指数
1
解决办法
1329
查看次数

将数据片段传递到同一活动中的片段

我有一个问题想询问有关活动中片段之间的数据传递的问题。我不知道该怎么做。有人可以帮忙吗?这是我的代码。

ShareFragment.java

package com.example.user8.myapplication;


import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;


/**    
 * A simple {@link Fragment} subclass.
 */
public class ShareFragment extends Fragment implements             AdapterView.OnItemSelectedListener{

private …
Run Code Online (Sandbox Code Playgroud)

android fragment dialogfragment

1
推荐指数
1
解决办法
6205
查看次数

如何在 kotlin 中将变量从一个片段传递到另一个片段

我对 android Studio 比较陌生,所以我只是问如何发送一个变量,比如说;

val Name = editName.text.toString() 从一个片段到另一个片段,以便您可以在第二个片段中使用它?我没有这个项目,这只是我的一个问题。

kotlin android-studio

1
推荐指数
1
解决办法
1684
查看次数