标签: android-activity

java.lang.IllegalStateException:未附加到Activity的片段

在进行API调用时,我很少收到此错误.

java.lang.IllegalStateException: Fragment  not attached to Activity
Run Code Online (Sandbox Code Playgroud)

我尝试将代码放在isAdded()方法中以检查片段当前是否已添加到其活动中但仍然很少出现此错误.我不明白为什么我仍然会收到此错误.我怎么能阻止它?

它在线上显示错误 -

cameraInfo.setId(getResources().getString(R.string.camera_id));
Run Code Online (Sandbox Code Playgroud)

下面是我正在制作的示例api调用.

SAPI.getInfo(getActivity(),
                new APIResponseListener() {
                    @Override
                    public void onResponse(Object response) {


                        cameraInfo = new SInfo();
                        if(isAdded()) {
                            cameraInfo.setId(getResources().getString(R.string.camera_id));
                            cameraInfo.setName(getResources().getString(R.string.camera_name));
                            cameraInfo.setColor(getResources().getString(R.string.camera_color));
                            cameraInfo.setEnabled(true);
                        }


                    }

                    @Override
                    public void onError(VolleyError error) {
                        mProgressDialog.setVisibility(View.GONE);
                        if (error instanceof NoConnectionError) {
                            String errormsg = getResources().getString(R.string.no_internet_error_msg);
                            Toast.makeText(getActivity(), errormsg, Toast.LENGTH_LONG).show();
                        }
                    }
                });
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-fragments android-activity android-volley

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

android从服务开始活动

安卓:

public class LocationService extends Service {

@Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        startActivity(new Intent(this, activity.class));
    }
}
Run Code Online (Sandbox Code Playgroud)

我推出了这项服务 Activity

Activity如果条件满足启动

startService(new Intent(WozzonActivity.this, LocationService.class));
Run Code Online (Sandbox Code Playgroud)

从我LocationService上面提到的无法启动Activity,我怎样才能获得当前Activity在服务类中运行的上下文?

android android-service android-activity

139
推荐指数
5
解决办法
20万
查看次数

onPause和onStop()之间的区别

从android doc这里http://developer.android.com/reference/android/app/Activity.html,它说"活动进入前台"将调用onPause(),并且"活动不再可见"将调用onStop().

不是"活动进入前景"与"活动不再可见"相同吗?你能告诉我他们之间有什么区别吗?

android android-lifecycle android-activity

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

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

onSaveInstanceState()和onRestoreInstanceState()

我正在尝试保存和恢复Activity使用方法onSaveInstanceState()和状态onRestoreInstanceState().

问题是它永远不会进入onRestoreInstanceState()方法.任何人都可以向我解释为什么会这样吗?

android states android-activity

136
推荐指数
4
解决办法
16万
查看次数

必须在添加内容之前调用requestFeature()

我正在尝试实现自定义标题栏:

这是我的助手课程:

import android.app.Activity;
import android.view.Window;

public class UIHelper {
    public static void setupTitleBar(Activity c) {
        final boolean customTitleSupported = c.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

        c.setContentView(R.layout.main);

        if (customTitleSupported) {
            c.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我在onCreate()中调用它的地方:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setupUI();
}

private void setupUI(){
     setContentView(R.layout.main);
     UIHelper.setupTitleBar(this);
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

requestFeature() must be called before adding content
Run Code Online (Sandbox Code Playgroud)

android android-layout android-activity

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

如何关闭活动并返回到android中的先前活动

我有一个主要的活动,当我点击一个按钮,开始一个新的活动,我使用以下代码来做到这一点:

Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

上面的代码是从主要活动运行的.

现在,在我的主要活动调用的新活动中,我有一个后退按钮.当我点击这个后退按钮时,我希望我的新活动关闭,它必须返回到原始的主要活动.

我已经尝试过调用super.finish()而且只是finish() (来自新活动),但这会关闭我的整个应用程序(包括我的主要活动).

如何关闭当前焦点的活动,然后返回主活动?

EDITED

我的手机的后退按钮也关闭了我的整个应用程序的事实,让我认为我已经错误地启动了第二个活动?


好的,我一直在寻找,

我创建了一个设置活动,它使用相同的清单代码和相同的代码来启动活动.

对于按下后退按钮时的设置活动,它将返回主活动.

通过上面在主要问题中提到的活动,它只是退出我的整个应用程序.

所以问题似乎不是完成活动的代码,而是活动本身.

android android-activity

134
推荐指数
8
解决办法
39万
查看次数

查看任务的活动堆栈

我刚刚开始学习这个平台,我刚开始开发一个简单的Android应用程序.

我正在使用带有ADT插件0.9.6的Eclipse IDE.

我需要知道是否可以查看Activity与任务相关联的堆栈?

有没有办法通过DDMS工具或通过任何其他技术?

基本上我需要的是能够看到任务的堆栈活动,以确保应用程序按预期运行.

我知道通过在Intent对象中使用标志以及通过<activity>元素的某些属性,可以在某种程度上控制任务行为.

然而,拥有一种工具会很好 - 特别是在调试模式下 - 这样可以让开发人员直接看到Activity堆栈.

android android-activity

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

如何将变量从Activity传递给Fragment,并将其传回去?

我目前正在制作一个Android应用程序,我想在活动和片段之间传递一个日期.我的活动有一个按钮,用于打开片段:DatePickerFragment.

在我的活动中,我显示了一个日期,我想用片段修改它.所以我想将日期传递给datepicker,然后将其发送回活动.

我尝试了很多解决方案,但都没有.简单的方法会传递一个参数,但这不能用碎片来完成.

android android-fragments android-activity

126
推荐指数
5
解决办法
13万
查看次数

如何在Android上将对象从一个活动传递到另一个活动?

我需要能够在我的应用程序中的多个活动中使用一个对象,并且它需要是同一个对象.做这个的最好方式是什么?

我已经尝试将对象设置为"公共静态",因此可以通过其他活动访问它,但由于某种原因,这并没有削减它.还有另一种方法吗?

android object android-activity

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