相关疑难解决方法(0)

退出应用程序(弹出)菜单时泄露的窗口

我希望你能帮助我,一旦我通过工具栏中的(弹出)菜单选项退出我的应用程序,我就会有一个泄露的窗口.如果我通过正常方法退出应用程序一切都很好.

有人可能会帮忙吗?我似乎无法找到错误,我正在努力找到一个合适的解决方案.我有2个静态字符串变量声明,但我想这不是问题.

许多事先提前.

以下是菜单的相关代码:

public class LoginActivity extends AppCompatActivity {
//
private Object mState = null;
private Object HIDE_MENU = null;
//
@Override
    protected void onCreate(Bundle savedInstanceState) {
//
 @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // inflate menu from xml
        MenuInflater mInflater = this.getMenuInflater();
        mInflater.inflate(R.menu.menu_main, menu);

        if (mState == HIDE_MENU) {
            menu.getItem(0).setVisible(false);
        }
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

            case R.id.settings:
                    // Unassigned
                return true;

            case R.id.exit:
                    this.finish(); …
Run Code Online (Sandbox Code Playgroud)

android menu drop-down-menu

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

Android:如何在使用SingleTask时清除意图堆栈

oAuth在应用程序中使用Twitter 库。用户使用Twitter帐户登录。

在活动A中,可以使用Twitter登录。用户登录后,我想启动没有历史记录的活动B。这是我所有的东西:

首先,,Manifest.xml因此我设置launchMode=singleTask为Twitter api请求:

<activity
    android:name=".A_Activity"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    android:theme="@android:style/Theme.Black.NoTitleBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="my_twitter_scheme" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

这是我开始活动B的方式:

Intent i = new Intent(A.this, B.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
Run Code Online (Sandbox Code Playgroud)

注意:我正在通过BroadcastReceiver实例调用活动B。

当我登录时,我的接收器正确地开始了活动B,但是不幸的是,当我按下“后退”按钮时,应用程序又回到了活动A。

我想这差不多了launchMode,正如我所说,Twitter需要这种选择。我究竟做错了什么?任何帮助或建议(也许关于Twitter)都将是很棒的。

android

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

如何缓存Json数据以便脱机使用?

我已经解析了JSON数据listview,现在我想让它可以离线使用.有没有办法在手机上保存JSON数据,以便在手机离线时可以看到数据?

有人知道一个例子吗?

编辑现在工作:

 public class MainActivity extends ListActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new TheTask().execute();
    }

    class TheTask extends AsyncTask<Void, Void, JSONArray> {
        InputStream is = null;
        String result = "";
        JSONArray jArray = null;

        ProgressDialog pd;

        @Override
        protected void onPostExecute(JSONArray result) {
            super.onPostExecute(result);
            pd.dismiss();
            ArrayList<String> list= new ArrayList<String>();
            try {
                for(int i=0;i<result.length();i++) {

                    JSONObject jb = result.getJSONObject(i) ;
                    String name = jb.getString("name")+" "+jb.getString("Art");
                    list.add(name);
                }
            } catch(Exception e) {
                e.printStackTrace();
            }
            setListAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, …
Run Code Online (Sandbox Code Playgroud)

java android json offline

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

Android:由于进度对话框,活动已泄露窗口?

我正在开发我的第一个Android应用程序,我想在用户点击我的应用程序中的登录按钮时显示进度对话框.所以我在集成应用的AsyncTask,如登录注销成功完成,但问题是,在成功登录像LoginActivity这给我的错误已经泄露,由于进度对话框窗口中的所有操作.如何关闭进度对话框并更新UI.

请参考以下代码并告诉我一些变化

以下是LoginActivity

public class LoginActivity extends SherlockActivity {
.................
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    sessionmngr = new SessionManager(this);
    //check the user login or not
    if (sessionmngr.isLoggedIn()) {
        Intent checkLoginIntnt = new Intent(this,ProjectFragActivity.class);
        startActivity(checkLoginIntnt);
    }
    setContentView(R.layout.activity_login);
    ........
}
// onclick listener when click on login activity

public void LoginToBookingScape(View v) throws JSONException {

    username = edtTxtUserName.getText().toString();
    userpsw = edtTxtUserPsw.getText().toString();

    if ((username.trim().length() > 0)&&(userpsw.trim().length() > 0)) {

        JsonWebService jsonWebs = new JsonWebService();
        jsonWebs.execute(loginUrl);

    }else {
        ............
    }   
}
Run Code Online (Sandbox Code Playgroud)

以下是在LoginActivity中扩展AsyncTask的Inner类 …

android

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

活动已经泄露窗口

在我的启动画面中,我做了它,以便检测是否启用了wifi或3g.如果不是,则会出现一个对话框,提示用户退出并打开其中一个.如果它打开,则代码将继续.我的logcat中一直有一个关于我的活动有一个泄漏窗口的错误.我不知道如何解决这个问题.代码和logcat如下.有任何想法吗?

这是我的代码:

//create alert dialog for wifi and 3g
connectionDialog = new AlertDialog.Builder(SplashMain.this).create();
Log.d(TAG, "dialog created");
connectionDialog.setTitle("Wifi or 3G not detected. Please enable either Wifi or 3G");
connectionDialog.setButton("Exit", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
            finish();
    }
});

wifiHandler = new Handler();
setContentView(R.layout.splashscreen);  //Make the splash screen load first
Thread splashScreenTimer = new Thread(){ //create a timer for the splash screen
    public void run(){      //create a run class
        Looper.prepare();   //prepare looper
        try{            //methods within the run …
Run Code Online (Sandbox Code Playgroud)

android window android-activity

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

Android Audio Service已泄露服务连接

我正在开发音乐播放器的应用程序.我面临的错误就像.

'*.MusicPlayerTabWidget已泄露ServiceConnection*

请给你评论.我也分享了我的Logcat.

05-01 10:38:03.226: W/KeyCharacterMap(4225): Using default keymap
05-01 10:38:03.429: E/ActivityThread(4225): Activity com.pvMusic.pvm.MusicPlayerTabWidget has leaked ServiceConnection com.pvMusic.pvm.MusicPlayerTabWidget$1@4051c6f0 that was originally bound here
05-01 10:38:03.429: E/ActivityThread(4225): android.app.ServiceConnectionLeaked: Activity com.pvMusic.pvm.MusicPlayerTabWidget has leaked ServiceConnection com.pvMusic.pvm.MusicPlayerTabWidget$1@4051c6f0 that was originally bound here
05-01 10:38:03.429: E/ActivityThread(4225):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:938)
05-01 10:38:03.429: E/ActivityThread(4225):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:833)
05-01 10:38:03.429: E/ActivityThread(4225):     at android.app.ContextImpl.bindService(ContextImpl.java:879)
05-01 10:38:03.429: E/ActivityThread(4225):     at android.content.ContextWrapper.bindService(ContextWrapper.java:347)
05-01 10:38:03.429: E/ActivityThread(4225):     at com.pvMusic.pvm.MusicPlayerTabWidget.onStart(MusicPlayerTabWidget.java:175)
05-01 10:38:03.429: E/ActivityThread(4225):     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129)
05-01 10:38:03.429: E/ActivityThread(4225):     at android.app.Activity.performStart(Activity.java:3791)
05-01 10:38:03.429: E/ActivityThread(4225):     at …
Run Code Online (Sandbox Code Playgroud)

android logcat android-audiomanager

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

Android Activity已泄露窗口

我想要做的是从服务器获取文件.相同的代码使用sdcard运行f9,但是当我从thorugh线程获取文件时,我的logcat中出现以下错误.

我的代码如下:

public class Map extends Activity
{
   //
    private GraphicsView mGLView;

    //private GisGLRenderer m_GisRenderer;

    final static String RESULT_KEY="result";
    final static int REQ_CODE=1001;
     AlertDialog m=null;



    public class LoadFile  extends AsyncTask<String,String,String>
    {
        ProgressDialog Asycdialog = new ProgressDialog(Map.this);


        @Override
        protected void onPreExecute() {
            //set message of the dialog
            Asycdialog.setMessage("Loading File");
            Asycdialog.setButton(DialogInterface.BUTTON_NEGATIVE,"Cancel",new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    //To change body of implemented methods use File | Settings | File Templates.
                }
            });
            //show dialog
            Asycdialog.show();
            super.onPreExecute();
        }

        protected …
Run Code Online (Sandbox Code Playgroud)

android

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

窗口泄露在Android应用程序中

我有一个问题,当我使用json解析一个活动时,第一次它在前面运行非常好,但第二次当我想运行相同的活动时,它返回窗口泄漏错误.这个问题的解决方案是什么?

错误:

05-20 12:02:14.579: ERROR/WindowManager(321): Activity org.shopzilla.android.search.SearchResultActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44fab6b8 that was originally added here
05-20 12:02:14.579: ERROR/WindowManager(321): android.view.WindowLeaked: Activity org.shopzilla.android.search.SearchResultActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44fab6b8 that was originally added here
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.view.ViewRoot.<init>(ViewRoot.java:247)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.app.Dialog.show(Dialog.java:241)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.app.ProgressDialog.show(ProgressDialog.java:107)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.app.ProgressDialog.show(ProgressDialog.java:90)
05-20 12:02:14.579: ERROR/WindowManager(321):     at org.shopzilla.android.search.SearchResultActivity.onCreate(SearchResultActivity.java:126)
05-20 12:02:14.579: ERROR/WindowManager(321):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-20 12:02:14.579: ERROR/WindowManager(321):     at …
Run Code Online (Sandbox Code Playgroud)

android

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

在AlertDialog之后调用新意图

我尝试添加AlertDialog来重命名,如下面的代码:

Button b = (Button)findViewById(R.id.btn);
b.setOnClickListener(
    new OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder renameDialog = new AlertDialog.Builder(AActivity.this);
            renameDialog.setTitle("Rename");
            final EditText newName = new EditText(AActivity.this);
            newName.setText(FilePath[i]);
            renameDialog.setView(newName);
            renameDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0, int arg1) {
                }
            });

            renameDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface arg0, int arg1) {
                }
            });

            renameDialog.show();
        }
    }

    Intent it = new Intent(AActivity.this, BActivity.class);
    it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
    startActivity(it); 
    }
});
Run Code Online (Sandbox Code Playgroud)

但是错误发生了.

Activity AActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@2b0278a8 that was originally added here …
Run Code Online (Sandbox Code Playgroud)

android

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