相关疑难解决方法(0)

Android:返回上一个活动

我想在Android应用程序上做一些简单的事情.怎么可能回到以前的活动.

我需要什么代码才能回到之前的活动

android android-intent android-activity

496
推荐指数
17
解决办法
58万
查看次数

onActivityResult中的requestCode错误

我正在从片段中开始一个新的活动

startActivityForResult(intent, 1);
Run Code Online (Sandbox Code Playgroud)

并希望在Fragment的父Activity中处理结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityResult, requestCode: " + requestCode + ", resultCode: " + resultCode);
    if (requestCode == 1) {
        // bla bla bla
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我从来没有得到requestCode我刚刚发布的内容startActivityForResult().

我有一个类似的东西0x40001,0x20001有一个随机的高位设置.文档没有说明这一点.有任何想法吗?

android android-fragments onactivityresult

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

将数据发送回Android中的主要活动

我有两个活动:主要活动和儿童活动.
当我按下主活动中的按钮时,将启动子活动.

现在我想将一些数据发送回主屏幕.我使用了Bundle类,但它不起作用.它会抛出一些运行时异常.

这有什么解决方案吗?

android android-intent

277
推荐指数
9
解决办法
27万
查看次数

如何从TabHost活动返回结果(startActivityForResult)?

我的例子中有3个类:A类,主要活动.A类调用startActivityForResult:

Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
Run Code Online (Sandbox Code Playgroud)

B类,这个类是一个TabActivity:

Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
Run Code Online (Sandbox Code Playgroud)

C类,这个类是一个常规的Activity:

Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)

onActivityResult在类A中调用,但resultCode RESULT_CANCELED代替,RESULT_OK返回的intent为null.如何从TabHost中的Activity返回一些内容?

我意识到问题是我的C类实际上是在B类中运行,而B类是返回RESULT_CANCELED到A类的.我只是不知道一个解决方法.

android android-tabhost android-activity

273
推荐指数
3
解决办法
31万
查看次数

如何在按下时将数据从第二个活动传递到第一个活动? - android

我有2个活动,Activity1Activity2.

Activity1我有一个按钮TextView的.单击按钮时,将启动Activity2.

Activity2我的EditText中.

我想显示从检索到的数据的EditText活性2的TextView活性1当从压回活性2.

有人可以帮助我使用代码来完成这项工作吗?

android parent-child pass-data android-activity

169
推荐指数
4
解决办法
11万
查看次数

使用startActivityForResult,如何在子活动中获取requestCode?

我有四个活动,比如A,B,C和D.我的情况是A将通过startActivityForResult启动活动B.

startActivityForResult(new Intent(this,B.class),ONE);
Run Code Online (Sandbox Code Playgroud)

在其他情况下,我将B与其他情况.喜欢

 startActivityForResult(new Intent(this,B.class),TWO);
Run Code Online (Sandbox Code Playgroud)

在B中,我需要根据requestCode调用C或D. 即如果ONE需要启动C else D.
所以我需要知道如何检查子Activity中的requestCode(这里是B).
换句话说,我想获得活动B开始的请求代码.

android android-intent android-activity startactivityforresult

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

后退按钮和刷新以前的活动

如果我们有两个活动:

  1. 文件列表和上次修改时间
  2. 文件编辑活动

用户从列表中选择文件并进入文件编辑活动.完成编辑后,用户按下后退按钮返回文件列表.

该列表未重新加载,因此刚刚编辑的文件修改时间显示的值不正确.

按下后退按钮后,使文件列表刷新的正确方法是什么?

此示例假定没有使用数据库,只是使用ArrayAdapter.

android

81
推荐指数
5
解决办法
10万
查看次数

是否有任何方法使Snackbar在活动变化中持续存在?

虽然Snackbar很漂亮,但在改变活动时它并不存在.Snackbar在完成活动之前我想确认使用a发送消息的情况下,这是一个无聊的事情.我已经考虑在退出活动之前暂停代码,但发现这是一个不好的做法.

如果我所描述的是不可能的,是否有任何类型的材料设计敬酒消息?或者制作矩形吐司消息的方法; 一个半径较小的圆边?

android android-studio

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

Espresso如何测试活动是否完成?

我想声明我正在测试的我的Acitivty在执行某些操作时已完成.不幸的是到目前为止,我只是通过在测试结束时添加一些睡眠来断言它.有没有更好的办法 ?

import android.content.Context;
import android.os.Build;
import android.support.test.rule.ActivityTestRule;
import android.test.suitebuilder.annotation.LargeTest;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

import static org.junit.Assert.assertTrue;

@SuppressWarnings("unchecked")
@RunWith(JUnit4.class)
@LargeTest
public class MyActivityTest {

    Context context;

    @Rule
    public ActivityTestRule<MyActivity> activityRule
            = new ActivityTestRule(MyActivity.class, true, false);

    @Before
    public void setup() {
        super.setup();
        // ...
    }

    @Test
    public void finishAfterSomethingIsPerformed() throws Exception {

        activityRule.launchActivity(MyActivity.createIntent(context));

        doSomeTesting();

        activityRule.getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                fireEventThatResultsInTheActivityToFinishItself();
            }
        });

        Thread.sleep(2000); // this is needed :(

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) …
Run Code Online (Sandbox Code Playgroud)

testing android android-activity android-testing android-espresso

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

Android:视图类和活动类的startActivityForResult和setResult

我很困惑,不知道如何使用startActivityResults和setResults从以前的活动中获取数据.我有一个视图类和一个活动类.

基本上在我的视图类中我有这个对话框,它实际上将启动名为colorActivity类的活动类.当用户选择"是"时,它也会将所选圆圈的名称传递给colorActivity类.在colorActivity类中,允许用户输入特定圆的颜色代码,并且我想将颜色代码传递回视图类.我使用startActivityForResult和setResult方法将值从活动传递回视图时出现问题.加上,如何利用获取的数据?

我的代码如下

从我的视图类中修改代码:

            @Override
            public boolean onTouchEvent(MotionEvent event) {

                x = event.getX();
                y = event.getY();


                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:


                    for (int i = 0; i < circles.size(); i++) {


                        if (circles.get(i).contains(x, y)) {
                            circleID = i;

            Handler handler = new Handler();
                                handler.postDelayed(new Runnable() {
                                    @Override
                                    public void run() {
                                        AlertDialog.Builder builder = new Builder(
                                                getContext());
                                        final EditText text = new EditText(getContext());

                                        builder.setTitle("Adding colors to circles").setMessage(
                                                "Proceed to Enter color");
                                        builder.setPositiveButton("Yes",
                                                new DialogInterface.OnClickListener() {

                                                    public void onClick(DialogInterface di,
                                                            int …
Run Code Online (Sandbox Code Playgroud)

android view android-intent android-activity

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