相关疑难解决方法(0)

onActivityResult中的数据为null

我正在尝试做一个简单的应用程序Android.我有两个活动(AB).在B我只想选择一个date.

我开始A,并做:

 Intent intent = new Intent();
 intent.setClass(this, B.class);
 startActivityForResult(intent,1);
Run Code Online (Sandbox Code Playgroud)

然后,在B,我做:

 Intent intent = getIntent();
 setResult(RESULT_OK);
 intent.putExtra("Date",dateSelected);
 finish();
Run Code Online (Sandbox Code Playgroud)

而且,在A,我有下一个方法:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);
     if(resultCode==RESULT_OK && requestCode==1){
        Bundle bundle = getIntent().getExtras();
        String aux = bundle.getString("nuevo");
        .....
    }
Run Code Online (Sandbox Code Playgroud)

但是data,和bundle,是null.当我调试代码时,我看到在课堂上B,intentExtras,但是,当我调用finish()并返回时class A,这intent …

android android-intent

18
推荐指数
2
解决办法
4万
查看次数

从Fragment对象访问FragmentActivity中的元素

我有一个FragmentActivity和FragmentPagerAdapter,它包含许多Fragment对象,我可以通过水平滑动来滑动它们.

我想知道我是否可以从Fragment对象中访问FragmentActivity中的元素("elementToBeChanged")?我想将Fragment类中的String传递给FragmentActivity对象中的TextView元素.

public class GalleryPagerActivity extends FragmentActivity implements OnClickListener {

private TextView elementToBeChanged;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    super.setContentView(R.layout.gallery_pager);

    elementToBeChanged = (TextView) findViewById(R.id.tvTop);
    elementToBeChanged.setOnClickListener(this);

}
}
Run Code Online (Sandbox Code Playgroud)

我怎么会这样做?每当Fragment对象进入视线(使用滑动)时,都必须更新TextView元素.

它应该看起来像这样:

public class GalleryFragment extends Fragment {

private FragmentActivity fa;
private LinearLayout ll;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    fa = super.getActivity();

    ll = (LinearLayout) inflater.inflate(R.layout.gallery_fragment, container, false);
...
// ////////
// UPDATE THE "TextView elementToBeChanged" object in the parent FragmentActivity class HERE WHENEVER THIS FRAGMENTS BECOMES …
Run Code Online (Sandbox Code Playgroud)

android swipe android-fragments fragmentpageradapter

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

从fragmentActivity刷新片段UI

我想从FragmentActivity中更改片段中的ImageView(在代码中创建).(XML中没有片段和标记).

从FragmentActivity扩展的MainActivity和从GooglePlayServicesClient.ConnectionCallbacks实现的:

...
FragmentAdapter mAdapter;
ViewPager mPager;
...

public void onCreate(Bundle savedInstanceState){
    ...
    FragmentManager fm = getSupportFragmentManager();
    mAdapter = new FragmentAdapter(fm);
    mPager.setAdapter(mAdapter);
    ...}

@Override
public void onConnected(Bundle connectionHint){
//*** I want to change a ImageView on Fragment1 here
}
Run Code Online (Sandbox Code Playgroud)

从FragmentPagerAdapter扩展的FragmentAdapter:

...
private FragmentManager mFragmentManager;

public FragmentAdapter(FragmentManager fm){
    super(fm);
}

@Override
public Fragment getItem(int pos){
// String name = makeFragmentName(R.id.mainPager, pos);
// Fragment fragmentObject = mFragmentManager.findFragmentByTag(name);
Fragment fragmentObject = null;

switch(pos){
    case 0:
        fragmentObject = new Fragment1();
        break;
    ...
}

return …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager fragmentpageradapter android-fragmentactivity

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