小编Jon*_*ren的帖子

更新对话框片段选项选择的片段

我在组件上有片段单击弹出窗口DialogFragment.该对话框片段包含选项列表.当选择列表中的选项时,我想通知片段,以便我可以运行字段更新过程.我做了这样的事

@Override
public void onClick(DialogInterface dialog, int item) {
     updateSharedPreference(item);
     Log.e("ProfilePersonaListDialog", "Click on dialog, inside onClick");
     OnCloseListDialogListener act = (OnCloseListDialogListener) getActivity();
     act.onDialogListSelection();

     dismiss();
}
Run Code Online (Sandbox Code Playgroud)

但是这个getActivity()调用FragmentActivity而不是调用触发对话框片段的片段.我可以杀死当前打开/运行的片段并调用一个可以获得更新字段的新实例,但这是我希望避免的脏解决方案.

有关如何在对话框片段中选择的片段更新选项的任何建议吗?

android refresh fragment android-dialogfragment

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

错误:尚不支持内置类收缩器和多索引

添加useProguard truemultidexEnabled true我的构建类型后,尝试构建时出现此错误:

错误:尚不支持内置类收缩器和多索引.

compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
    applicationId "com.example.android
    minSdkVersion 16
    targetSdkVersion 23
    versionCode gitVersionCode()
    versionName gitVersionName()
    multiDexEnabled true
}
Run Code Online (Sandbox Code Playgroud)

buildTypes {
    debug {
        ...
        useProguard false
        debuggable true
    }
    release {
        ...
        useProguard true
    }
Run Code Online (Sandbox Code Playgroud)

运行Android Studio 2.0 Beta 5.

删除multidex除了解决方案?

android android-build android-build-type

7
推荐指数
1
解决办法
9586
查看次数

Android:无法解析符号'compile'

我在Android工作室添加新向导的帮助下添加了一个新的活动"设置".在那之后,我得到了这个

错误:(47)评估项目':AppName'时出现问题.无法在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@395e73e7上找到属性'compile'.

它说不能解决符号'编译'.

有任何想法吗?

compiler-errors resolve

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

Android:亚行更新Google Play服务"失败"

尝试关注此Google+登录教程.


启动应用程序,我收到此错误

您需要更新Google Play服务才能使用此应用程序

  • 按下Update没有任何作用.
  • 忽略此对话框并按下Login应用程序崩溃.

使用Windows 8中的终端更新模拟器上的Play服务,

adb install com.android.vending-20140218.apk ........
失败[INSTALL_FAILED_DUPLICATE_PERMISSION perm = com.google.android.gms.permission.ACTIVITY_RECOGNITION pkg = com.google.android.gms]

adb install com.google.android.gms-20140218.apk .......
失败[INSTALL_FAILED_DUPLICATE_PERMISSION perm = com.android.vending.CHECK_LICENSE pkg = com.android.vending]


我尝试使用adb uninstall和卸载它们,adb install -r但它只是响应

失败


模拟器

  • Nexus 5搭配Android 5.0
  • targetSdk Android 5.0
  • minSdk Android 5.0
  • Buildtools 19.1.0.

android adb

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

Android Studio:阻止评论风格

Eclipse中阻止注释样式(write /* and press Enter)

/*
 *  Hello World
 */
Run Code Online (Sandbox Code Playgroud)

阻止Android Studio中的评论样式

/*
    Hello World
 */
Run Code Online (Sandbox Code Playgroud)

如何使我的Android Studio块注释看起来像Eclipse中的注释?在设置中找不到任何内容.

android block-comments android-studio

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

链接不一致

我有喜欢的Instagram的照片列表,使用具有指向井号标签和用户使用文字#@和我使用Linkify,使这项工作.

我列表中的第一项获得的链接正确8/10次,但另一次只是纯文本.其他项目总是正确的链接.

BaseAdapter

// holder is a ViewHolder class holding my row views
// holder.photo is a ParseFile subclass object 
// holder.photo.hashtags is an arraylist with objects
// holder.photo.comment() is a getString("key") from ParseObject
// hashtags is a String with hashtags, for example "#hashtag #anotherhashtag"

holder.hashtag.setText(hashtags, TextView.BufferType.SPANNABLE);
holder.title.setText(holder.photo.comment(), TextView.BufferType.SPANNABLE);
StringUtils.linkify(activity, holder.photo.hashtags, new TextView[]{ holder.hashtag, holder.title });
Run Code Online (Sandbox Code Playgroud)

StringUtils的

public static void linkify(Activity activity, List<Hashtag> hashtags, TextView[] textViews ) {
    for (TextView t : textViews) { …
Run Code Online (Sandbox Code Playgroud)

android linkify android-listview baseadapter

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

ListPopupWindow:getWindowVisibleDisplayFrame(Rect)null异常

当我单击工具栏中的某个项目时,我想展开一个listpopup,但它不起作用.

在onOptionsItemSelected(MenuItem项)方法内

ListPopupWindow popup = new ListPopupWindow(getBaseContext());
popup.setAdapter(new ArrayAdapter<>(getBaseContext(), R.layout.dialog_checkview, R.id.checkview_title, stringList));
popup.setAnchorView(item.getActionView());
popup.setModal(true);
popup.show();

// ...
Run Code Online (Sandbox Code Playgroud)

例外

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.getWindowVisibleDisplayFrame(android.graphics.Rect)' on a null object reference
        at android.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1368)
        at android.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1346)
        at android.support.v7.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1174)
        at android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:584)
        at com.mysecretpackage.android.activities.MainActivity.onOptionsItemSelected(MainActivity.java:271)
        at android.app.Activity.onMenuItemSelected(Activity.java:2895)
        at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:353)
        at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:144)
        at android.support.v7.internal.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:99)
        at android.support.v7.internal.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:99)
        at android.support.v7.internal.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:72)
        at android.support.v7.widget.Toolbar$1.onMenuItemClick(Toolbar.java:164)
        at android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:740)
        at android.support.v7.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811)
        at android.support.v7.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:153)
        at android.support.v7.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:958)
        at android.support.v7.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:948)
        at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:598)
        at android.support.v7.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:139)
        at android.view.View.performClick(View.java:4785)
        at android.view.View$PerformClick.run(View.java:19884)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception popupwindow

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

Android Wear:使用FragmentPagerAdapter的WearableActivity

当使用WearableActivity你不能达到getSupportFragmentManager()FragmentPagerAdapter要求,所以你需要使用getFragmentManager().

活动

public MyWearActivity extends WearableActivity {

    public ArrayList<Fragment> mFragments;
    public ArrayList<String> mTitles;
    public ViewPager mViewPager;
    public PageFragmentPagerAdapter mPagerAdapter;

    @Override
    public void onCreate(Bundle b) {
        super.onCreate(b);
        setContentView(R.layout.main);
        fragments = new ArrayList<>();
        mTitles = new ArrayList<>();
        mViewPager = (ViewPager) findViewById(R.id.viewpager);
Run Code Online (Sandbox Code Playgroud)

        mPagerAdapter = new PageFragmentPagerAdapter(getFragmentManager()); <-- PROBLEM
Run Code Online (Sandbox Code Playgroud)

        // More code
    }
}
Run Code Online (Sandbox Code Playgroud)

寻呼机适配器

public class PageFragmentPagerAdapter extends FragmentPagerAdapter {

    public PageFragmentPagerAdapter(FragmentManager fm) {
Run Code Online (Sandbox Code Playgroud)

        super(fm); <-- PROBLEM
Run Code Online (Sandbox Code Playgroud)

    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager wear-os

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