小编Jac*_*ack的帖子

5.1崩溃 - TaskDescription的主要颜色应该是不透明的

我已经在我的应用程序中实现了材料设计,它在<Android 5上运行得很好但是当我尝试在Android 5.0及更高版本上运行时,我在我的logcat中得到以下内容.

     FATAL EXCEPTION main
 Process com.test.test, PID 3195
 java.lang.RuntimeException Unable to start activity ComponentInfo{com.test.test/com.test.test.MainActivity} java.lang.RuntimeException A TaskDescription's primary color should be opaque
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java2298)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java2360)
    at android.app.ActivityThread.access$800(ActivityThread.java144)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java1278)
    at android.os.Handler.dispatchMessage(Handler.java102)
    at android.os.Looper.loop(Looper.java135)
    at android.app.ActivityThread.main(ActivityThread.java5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java694)
 Caused by java.lang.RuntimeException A TaskDescription's primary color should be opaque
    at android.app.ActivityManager$TaskDescription.<init>(ActivityManager.java536)
    at android.app.Activity.onApplyThemeResource(Activity.java3677)
    at android.view.ContextThemeWrapper.initializeTheme(ContextThemeWrapper.java140)
    at android.view.ContextThemeWrapper.setTheme(ContextThemeWrapper.java85)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java2244)
    ... 10 more
Run Code Online (Sandbox Code Playgroud)

这是我的风格:

    <resources>

    <!--
        Base application theme, dependent on API level. …
Run Code Online (Sandbox Code Playgroud)

crash android material-design

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

将SearchView与AppCompat一起使用时出现空指针异常

今天我花时间迁移到AppCompat库.除了我的SearchView,我已经成功设置了所有内容.

之前,它运行正常,但现在我nullPointerException在使用代码时不断获取

searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

我到处寻找尝试为我的问题找到解决方案,但我找不到任何地方(我试过的那些不起作用).

任何指导都将受到赞赏,ty.

这是我打电话的地方:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);

    MenuItem searchItem = menu.findItem(R.id.search);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);

    SearchView searchView = (SearchView) MenuItemCompat
            .getActionView(searchItem);

    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));



    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

这是菜单XML文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto" 
xmlns:app="http://schemas.android.com/apk/res/android" >>

<item
    android:id="@+id/about"
    android:orderInCategory="3"
    android:showAsAction="never"
    android:title="@string/about"/>
<item
    android:id="@+id/rate"
    android:orderInCategory="2"
    android:showAsAction="never"
    android:title="@string/rate"/>
<item
    android:id="@+id/search"
    android:icon="@android:drawable/ic_menu_search"
    android:orderInCategory="1"
    app:actionViewClass="android.support.v7.widget.SearchView"
    compat:showAsAction="ifRoom|collapseActionView">
</item>
Run Code Online (Sandbox Code Playgroud)

表现:

    <activity
        android:name="com.stack.overflow.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:theme="@style/Theme.AppCompat" >
        <meta-data
            android:name="android.app.default_searchable"
            android:resource="@xml/searchable" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.SEARCH" />
            <category android:name="android.intent.category.LAUNCHER" /> …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception android-appcompat searchview

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

从Fragment调用DialogFragment

我试图从我的Fragment类调用DialogFragment.我有一个ImageView,并希望在我设置的ImageView的onClickListener中调用我的DialogFragment类.

我在onClick中遇到错误,我设置的代码试图调用DialogFragment.

我在"show"上收到一条错误,说明"DialogFragment类型中的方法show(FragmentManager,String)不适用于参数(FragmentManager,String)",并且"new Instance"上的错误表明"方法newInstance()未定义MyDialogFragment类型"

这是我的代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
  Bundle savedInstanceState)
{
    final View v = inflater.inflate(R.layout.image_detail_fragment, 
      container, false);

    mImageView = (RecyclingImageView) v.findViewById(R.id.imageView);
    mImageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            //Here
            MyDialogFragment dialog = MyDialogFragment.newInstance();
            dialog.show(getFragmentManager(), "fragmentDialog");
        }
    });

    return v;
}
Run Code Online (Sandbox Code Playgroud)

DialogFragment类:

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;

class MyDialogFragment extends DialogFragment {

    Context mContext;

    public MyDialogFragment() {
        mContext = getActivity();
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment

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

从内部重新加载片段

我一直试图弄清楚如何从Fragment中定义的菜单按钮刷新我的Fragment.

我在这里看过这个问题,但我希望有一个更详细的例子来说明我将如何实现这个目标.

任何帮助或指导将不胜感激,谢谢.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.clear_cache:
        mImageFetcher.clearCache();
        Toast.makeText(getActivity(), R.string.clear_cache_complete_toast,
                Toast.LENGTH_SHORT).show();
        break;

    case R.id.random:

        //Reload the fragment from here

        getActivity().getSupportFragmentManager().beginTransaction()
        .replace(R.id.gridView, new Fragment3())
        .commit();


        return true;
    }
    return super.onOptionsItemSelected(item);
Run Code Online (Sandbox Code Playgroud)

XML:

        <activity
        android:name="com.stackoverflow.question.ImageGridActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme" >
        </activity>
Run Code Online (Sandbox Code Playgroud)

崩溃:

12-04 09:48:27.636: E/AndroidRuntime(20461): FATAL EXCEPTION: main
12-04 09:48:27.636: E/AndroidRuntime(20461): java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
12-04 09:48:27.636: E/AndroidRuntime(20461):    at android.widget.AdapterView.addView(AdapterView.java:451)
12-04 09:48:27.636: E/AndroidRuntime(20461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
12-04 09:48:27.636: E/AndroidRuntime(20461):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) …
Run Code Online (Sandbox Code Playgroud)

android refresh android-fragments

6
推荐指数
2
解决办法
7372
查看次数

如何停止Glide upscaling?

我正在使用Glide图像加载库,我在调整位图大小时遇到​​了问题.

使用以下代码时:

Glide.with(getActivity())
    .load(images.get(i))
    .asBitmap().centerCrop()
    .into(new SimpleTarget<Bitmap>(1200, 1200) {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {

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

每个位图都会调整大小到指定的尺寸.因此,如果图像是400x300,它会升级到1200 x 1200,这是我不想要的.如何使图像小于指定的尺寸,它不会调整大小?

我正在指定尺寸,因为我希望每个大于指定尺寸的图像都要考虑到尺寸centerCrop; 然后如果图像小于指定的尺寸,我不希望它的大小调整.

android android-glide

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

媒体播放器同时播放多个文件

我遇到一个问题,一旦用户点击我的ListView播放的声音,然后在播放声音时他们点击另一个声音,他们点击的2个声音同时播放.

我想获得当前播放的声音,完成,然后开始他们最近点击的新声音.

如果有人可以帮助我,那将非常感激!

码:

ListView BoardList = (ListView) findViewById(R.id.BoardList);

    String List[] = {

     "Audio1", "Audio2", "Audio3", "Audio4", "Audio5"
         , "Audio6", "Audio7", "Audio8", "Audio9"
           , "Audio10", "Audio11", "Audio12" };

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            R.layout.listcustomize, R.id.textItem, List);

    BoardList.setAdapter(adapter);

    BoardList.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            MediaPlayer mPlayer = null;
            if (position == 0) {



                mPlayer = MediaPlayer.create(HodgeMain.this,
                        R.raw.Audio1);
                mPlayer.start();
            }

            if (position == 1) {


                mPlayer = MediaPlayer.create(HodgeMain.this,
                        R.raw.Audio2);
                mPlayer.start();

            }
            if (position == …
Run Code Online (Sandbox Code Playgroud)

android media-player

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

启动对话框以获得结果以将值返回到主活动

我一直试图让我的头脑绕过这几个小时.

我有一个主要的Fragment类,然后从我在该类中的ImageView设置的onClick,我启动一个带有简单的"是"或"取消"选项的Dialog Fragment.

我如何制作它,以便当用户点击"确定"时,它会将结果代码发送回我的主片段,告诉它运行一些代码(在我的情况下,我正在设置壁纸).

这听起来简单但似乎无法弄明白.提前致谢.

Onclick在哪里我想以某种方式将结果返回到:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    final View v = inflater.inflate(R.layout.image_detail_fragment,
            container, false);

    mImageView = (RecyclingImageView) v.findViewById(R.id.imageView);
    mImageView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            MyDialogFragment dialog = new MyDialogFragment();
            dialog.show(getActivity().getFragmentManager(),
                    "MyDialogFragment");

        }

        public void onDialogOKPressed() {

    ((ImageDetailFragment) (DialogFragment.this.getParentFragment()))
                    .onDialogOKPressed();
            dismiss();

        }
    });

    return v;
}
Run Code Online (Sandbox Code Playgroud)

对话类:

class MyDialogFragment extends DialogFragment {
    private Button ButtonOk;
    private Button ButtonCancel;

    public MyDialogFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, …
Run Code Online (Sandbox Code Playgroud)

android dialog fragment

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

在附加堆栈跟踪处获取资源但从未释放 - 错误

我不知道为什么我会收到此错误,5次我使用模拟器设置壁纸中的2次,我得到错误 - "资源是在附加的堆栈跟踪中获取但从未发布.请参阅java.io.Closeable for有关避免资源泄漏的信息."

当我使用手机设置壁纸时,它完美无误.当我使用模拟器时,为什么会崩溃?

这是我的代码:

public class SetWallpaperAsync extends AsyncTask<String, String, String> {
private Context context;
private ProgressDialog pDialog;
String image_url;
URL mImageUrl;
String myFileUrl1;
Bitmap bmImg = null;

public SetWallpaperAsync(Context context) {
    this.context = context;
}

@Override
protected void onPreExecute() {
    // TODO Auto-generated method stub

    super.onPreExecute();

    pDialog = new ProgressDialog(context);
    pDialog.setMessage("Setting Wallpaper...");
    pDialog.setIndeterminate(false);
    pDialog.setCancelable(false);
    pDialog.show();

}

@Override
protected String doInBackground(String... args) {
    // TODO Auto-generated method stub

    try {

        mImageUrl = new URL(args[0]);
        // myFileUrl1 = args[0]; …
Run Code Online (Sandbox Code Playgroud)

android inputstream bytearrayoutputstream

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

KeyEvent.KEYCODE_BACK在Fragment中被调用两次

我在我的片段中调用了我的View上的KeyEvent.KEYCODE_BACK,并且由于一些奇怪的原因它被调用了两次.

我不知道它为什么会这样做.

这是我的片段:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    myFragmentView = inflater.inflate(R.layout.folders, container, false);

    myFragmentView.setFocusableInTouchMode(true);
    myFragmentView.requestFocus();
    myFragmentView.setOnKeyListener(new View.OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub

            if (keyCode == KeyEvent.KEYCODE_BACK) {

                String parent = file.getParent().toString();
                file = new File(parent);
                File list[] = file.listFiles();

                myList.clear();

                for (int i = 0; i < list.length; i++) {
                    myList.add(list[i].getName());
                }
                Toast.makeText(getActivity(), parent, Toast.LENGTH_LONG)
                        .show();
                setListAdapter(new ArrayAdapter<String>(getActivity(),
                        android.R.layout.simple_list_item_1, myList));

            }

            return true;

        } …
Run Code Online (Sandbox Code Playgroud)

android fragment

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

尝试播放声音OnItemClick时出错

我正试图OnItemClickListView我设置的声音中播放声音.

我收到错误" create(Context, int)类型中的方法MediaPlayer不适用于参数(new AdapterView.OnItemClickListener(){}, int)"带"创建"下划线.

不是100%肯定为什么我得到这个错误,如果有人可以提供帮助,将不胜感激.

ListView BoardList = (ListView) findViewById(R.id.BoardList);
BoardList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

String List[] = {"Play 1", "Play 2", "Play 3", "Play 4", "Play 5", "Play 6", "Play 7", "Play 8", "Play 9" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listcustomize, R.id.textItem, List);

BoardList.setAdapter(adapter);
BoardList.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if (position == 0) {
            MediaPlayer  mPlayer = MediaPlayer.create(this, R.raw.Audio1);
            mPlayer .start();
            } …
Run Code Online (Sandbox Code Playgroud)

android listview media-player

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