小编Goo*_*Goo的帖子

应用于嵌套片段的片段间通信?

Android开发者网站上有一篇很棒的文章介绍了如何使用接口进行通信:

  1. A Fragment和它的托管Activity
  2. 两个Fragment由同一个主持Activity

我正在努力将这个概念应用于嵌套片段.特别是,getActivity()Fragment#onAttach(Activity)告诉你什么Activity是托管Fragment.

嵌套片段的等价物是什么?"孩子"如何Fragment知道Fragment它包含在哪个"父母" 中?如果不知道这一点,孩子如何Fragment将事件传递给其父母Fragment

一个显而易见的方法是播放来自孩子的意图Fragment并让父母Fragment听取广播,但我宁愿使用interface基于-based的方法.

android android-fragments

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

如何解雇AlertDialog.Builder?

在下面的代码中,如何关闭警告框?我不想导致内存泄漏.我在alertDialog上尝试了.dismiss(),但是没有用......谢谢

// User pressed the stop button
public void StopMsg_button_action(View view){
    final EditText password_input = new EditText(this); // create an text input field
    password_input.setHint("Enter Password"); // put a hint in it
    password_input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); // change it to password type

    AlertDialog.Builder alertDialog = new Builder(this); // create an alert box
    alertDialog.setTitle("Enter Password"); // set the title
    alertDialog.setView(password_input);  // insert the password text field in the alert box
    alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { // define the 'OK' button
        public void onClick(DialogInterface dialog, …
Run Code Online (Sandbox Code Playgroud)

memory alert android dialog dismiss

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

在APK内的同一路径上复制文件

我有一个使用一些库的应用程序.

问题是当我尝试导出apk文件时,我得到了"在APK内的同一路径上复制文件".

这是日志:

org.eclipse.core.runtime.CoreException: Duplicate files at the same path inside the APK
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:284)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:295)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:232)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:217)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.android.sdklib.build.DuplicateFileException: Duplicate files at the same path inside the APK
at com.android.sdklib.build.ApkBuilder$JavaAndNativeResourceFilter.checkEntry(ApkBuilder.java:123)
at com.android.sdklib.internal.build.SignedJarBuilder.writeZip(SignedJarBuilder.java:225)
at com.android.sdklib.build.ApkBuilder.addResourcesFromJar(ApkBuilder.java:563)
at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalPackage(BuildHelper.java:372)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:255)
... 4 more
Run Code Online (Sandbox Code Playgroud)

任何人都必须解决这个问题?

非常感谢你.

编辑:解决方案

我弄清楚问题是什么.我包含了一个包含AndroidManifest.xml文件的JAR文件,该文件与我自己的项目的AndroidManifest.xml文件冲突.我的实例中的解决方案是重建JAR文件,确保它排除了自己的AndroidManifest.xml版本,然后将新版本的JAR文件重新包含到我的项目中.执行此操作后,您可能需要清理项目.

android android-library

17
推荐指数
2
解决办法
8184
查看次数

如何检查是否打开了一个对话框?

我有静态方法,我在其中创建一个对话框

public static void showDialog(Context context) {
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setTitle("Title");
    builder.setMessage("Message");
    builder.setPositiveButton("ok", new OnClickListener() {
            public void onClick(DialogInterface dialog, int arg1) {
                dialog.dismiss();
            }});
    builder.setCancelable(false);
    builder.create().show();
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,可能存在多次调用方法的情况,但我不想打开2个或更多对话框.如何检查是否打开了对话框?谢谢...

android

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

键盘启动时调整滚动视图

我有一个带有表单的活动.因为表单很长,所以我使用了scrollview.

问题是当键盘启动时,scrollview不会改变.键盘与scrollview的最后一部分重叠.

如何确保键盘位于scrollview下方并调整scrollview以适应其上方的空间?

同时,有没有办法确保键盘上的"上一个"和"下一个"按钮也在键盘中?

keyboard android scrollview android-keypad

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

动作栏标题有多行?

是否可以在Action Bar中创建具有多行的标题?我需要一个双倍间距的标题.

android android-actionbar

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

android:id,android:Android XML文件中的名称和名称标签之间的区别

有人可以明确的区别android:id,android:name以及name标签Android的XML文件.它们似乎都是引用事物的方法.

例如,当我在res/values/array.xml文件中有一个字符串数组时,我使用name定义数组中的字段访问,但Javadoc将其称为"ID".

android:id似乎只是在Views中使用?

我错过了什么,或者一个标签不简单吗?

android android-xml

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

当复选框改变状态时如何做某事?

这是我的代码:

    <CheckBox
        android:id="@+id/sprint_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/sprint_game" />

    <CheckBox
        android:id="@+id/marathon_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/marathon" />

    <CheckBox
        android:id="@+id/never_ending_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/never_ending" />
Run Code Online (Sandbox Code Playgroud)

我想要做的是"检测"其中一个被检查,然后将另外两个设置为"禁用",因此用户只能选择一个.我试图使用".setOnCheckedChangeListener",但我不能这样做,有人可以帮我一些代码吗?非常感谢!

checkbox android oncheckedchanged android-checkbox

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

检查数据库是否为空

我试图检查sqlite数据库是否为空

public boolean chkDB(){
        boolean chk = false;
        Cursor mCursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE, null);
        if (mCursor != null){
            mCursor.moveToFirst();
            if (mCursor.getInt(0) == 0){
                chk = false;
            }
        }else{
            chk = true;
        }
        return chk;
    }
Run Code Online (Sandbox Code Playgroud)

但每次我调用该方法我都会得到空指针异常

我的Logcat显示了这个

06-28 22:35:19.519: E/AndroidRuntime(441):  at com.android.id.DBAdapter.chkDB(DBAdapter.java:82)
06-28 22:58:06.269: E/AndroidRuntime(621): FATAL EXCEPTION: main
06-28 22:58:06.269: E/AndroidRuntime(621): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.id/com.android.id.MainActivity}: java.lang.NullPointerException
06-28 22:58:06.269: E/AndroidRuntime(621):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-28 22:58:06.269: E/AndroidRuntime(621):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-28 22:58:06.269: E/AndroidRuntime(621):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-28 22:58:06.269: E/AndroidRuntime(621): …
Run Code Online (Sandbox Code Playgroud)

sqlite android

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

如何在BroadcastReceiver类中使用getApplicationContext?

我正在使用广播类使用此代码来收听短信

package com.escortme.basic;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SMSReceiverActivity extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // Parse the SMS.
        Bundle bundle = intent.getExtras();
        SmsMessage[] msgs = null;
        String str = "";
        if (bundle != null)
        {
            // Retrieve the SMS.
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];
            for (int i=0; i<msgs.length; i++)
            {
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
                // In case of a particular App / …
Run Code Online (Sandbox Code Playgroud)

android broadcast

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