小编Vic*_*c V的帖子

防止重复活动

所以,我既是Java的新手,也是创建Android应用程序的新手,但不是编程新手.我已经阅读了大多数developer.android.com网站,但我一直无法找到:

我想确保某个活动同时运行不止一次.所以我们有一个类似这样的任务:
Activity A)一个TabActivity,它启动
Activity B)一个ListView,点击它,打开
Activity C),这是一个mediaplayer对象的接口

现在,每当有人在C中按下后退按钮时(这很可能是因为他们要收听1小时流式传输的mp3),然后按下另一个列表项,而不是返回C,C第二次打开,两个流正在播放.当然,我只想要运行一个C实例,我希望第二次单击列表项以将C带回到前面.这对于通知意图也很有用.

我一直在搞乱标志(尤其是FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT),但到目前为止还没有成功.

如果有人可以帮助我,我可以专注于我的下一个挑战 - 让它成为一个真正的饲料读者:P

提前致谢,

java android

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

Android:活动中的onListItemClick

上一次我在这里问了一个问题,我学到了很多东西,所以我觉得值得再试一次.

我在这个链接中使用Fedor的懒惰列表: 在ListView中延迟加载图像

它的工作就像一个魅力.但是,Fedor正在使他的主要课程延伸Activity而不是ListActivity.因此,我不再能够使用listItemClick侦听器.Eclipse声明了一些错误onListItemClick().它在我转弯时起作用

    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
     // Intent launcher here
}
Run Code Online (Sandbox Code Playgroud)

   protected void onListItemClick(ListView l, View v, int position, long id) {
     // Intent launcher here
   }
Run Code Online (Sandbox Code Playgroud)

但意图启动器不起作用.祝酒通知也没有.

当我转入Activitya时ListActivity,Eclipse并没有错开,但是我的模拟器给了我一个力量.

如何得到

  • 要么onListItemClick()点击活性(优选)
  • 或者我将代码转换为ListActivity无力关闭?

非常感谢提前.

java eclipse android lazylist

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

如何将来自MenuItem onOptionsItemSelected的上下文传递给ASyncTask?

编辑:一行中的问题:

如何从MenuItem onOptionsItemSelected传递上下文?

编辑2:这是我正在做的事情的全局指示:https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/fragments/src/com/actionbarsherlock/sample/fragments/FragmentTabsPager.java


我正在构建一个基于ActionBarSherlock的应用程序.它使用制表符,片段和viewpager.它意味着尽可能多才多艺.选项卡可以包含webview或列表视图.这是一个截图:

http://dl.dropbox.com/u/11218283/Screenshot_2012-05-16-13-33-08.png

首次加载选项卡(SherlockListFragment)时,它会使用ASyncTask从Feed中读取内容.OnPostExecute它更新列表并将结果保存到SharedPreference字符串(作为缓存的一种方式).可以想象,AsyncTask需要上下文来执行此操作.我正在调用SherlockListFragment中的asynctask,如下所示:

x.new refreshList(this,getActivity()).execute();
Run Code Online (Sandbox Code Playgroud)

(x是对我当前文件的引用).

然后将它转移到我的AsyncTask中

 public refreshList(TabList a,Context b){
    this.mContext = a;
    this.mCont = b;
}
Run Code Online (Sandbox Code Playgroud)

一切正常.但正如你所看到的,我已经添加了一个菜单项以进行刷新.我设置的方式,我无法重新运行ASyncTask,因为我没有相应的上下文信息.谁能告诉我如何在这种情况下进行刷新?

如果有人愿意提供帮助,需要查看更多代码,我很乐意遵守.

提前致谢.

static android fragment android-asynctask actionbarsherlock

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

给出listview项标签,不带自定义arrayadapter

我有一个问题应该很简单,但我似乎无法解决它.

我正在使用DragSortListView.我想给每个listview-item一个带有原始位置的标签.当用户完成重新排序时,我想返回一个带有原始id的字符串(例如2,3,4,1,如果用户将第一个项目移动到最后一个位置).如果项目被删除,我也想知道原始ID.

这是我的代码.

DragSortListView mainListView = (DragSortListView) findViewById( R.id.list_pages );  
String[] names = settings.getString("pages", "Error,error").split(",");    
ArrayList<String> list = new ArrayList<String>(Arrays.asList(names));
adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.row, list);
mainListView.setAdapter(adapter);
DragSortController controller = new DragSortController(mainListView);
...
Run Code Online (Sandbox Code Playgroud)

现在我认为最好循环遍历所有项目并给它们带有原始id的标签.我正在尝试使用类似的东西遍历项目

for (int i = 0; i < mainListView.getCount(); i++)
{
  View v = mainListView.getChildAt(i);
  TextView tx = (TextView) v.findViewById(R.id.text);
  tx.setTag(i);
}
Run Code Online (Sandbox Code Playgroud)

但是,即使已设置适配器,此列表视图也显示为空.

我无法使用自定义ArrayAdapter,因为当项目被删除或刷掉时,应用程序将崩溃.

附加信息: 当服务使用BroadcastReceiver返回数据时,将填充列表视图.我不认为这会影响这一点,但你永远不会知道.

我的问题:

  • 如何存储每个列表项原始位置,以便我以后可以访问它?

提前致谢!

android listview android-arrayadapter

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

等到用户停止输入后再在 searchview 中执行大量搜索

搜索是我的应用程序的核心,我需要它才能正常工作。现在我有一个SearchView。我需要内联显示结果,因此我使用此代码。

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            srl.setVisibility(View.GONE);
            return false;
        }

        @Override
        public boolean onQueryTextChange(String query) {
            currentQuery = query;
            if (query.length()>= 3) {
                searchFor(currentQuery);
            } else {
                srl.setVisibility(View.GONE);
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

问题可能很明显。因为我使用 firebase,我的searchFor()函数相当重,我不需要对每个字母都执行它。这不仅会破坏用户体验,如果您写下较长的单词,有时还会使我的应用程序崩溃。

我想要的是当用户停止打字时进行搜索。我想我需要一个处理程序,将其延迟一秒,然后每次按下字母键时取消该处理程序并设置一个新的处理程序。这在理论上是有道理的。我只是无法自己为 searchView 实现这一点。

帮助将不胜感激!

android android-view searchview rx-java rx-java2

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

Android webview中的WYSIWYG

我一直试图从我的应用程序内部向我的用户提供所见即所得的HTML编辑器.它不一定是花哨的WYSIWYG.我只需要基本功能,如粗体,斜体,下划线,图像,链接和一些基本格式(字体大小,颜色,对齐).那应该够了.

完美的解决方案是开源库,但我找不到.所以我搜索了一个适用于Android的基于网络的编辑器.我找到了Sceditor.当我启动Android浏览器(Chrome测试版)时,此编辑器工作得很好.它看起来也可以从我的webview(见截图)开始工作,但事实并非如此.

对不起!

只要我从应用程序中运行编辑器,大多数功能都会停止工作.光标随机跳转,我无法再编辑现有文本,发生更多奇怪的事情.基本上,它只是不起作用.

问题:如何使其正常工作?

非常感谢!

wysiwyg android android-webview webchromeclient

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

Webview在棒棒糖的共享元素转换中出现故障

我刚开始使用appcompat支持库重建我的Android 5.0应用程序.我刚刚完成了一个以共享元素为特色的过渡.它似乎运作良好,直到我添加一个webview.

我制作了一个视频来演示故障. https://www.youtube.com/watch?v=MuuGZc0Vwow

正如你所看到的,当我打开活动时一切都很好.当我关闭它时,会发生故障.正如你所看到的,除了webview之外,所有元素都应该像它们应该的那样淡出.在动画结束之前,它就会挂在那里,有点破坏了动画的整体流畅度.

我该如何解决?如果它与我设置的方式有关,我很乐意分享一些代码.

提前致谢.

android android-webview android-support-library activity-transition shared-element-transition

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

当我的活动发生变化或破坏时,如何阻止ASyncTask崩溃?

这可能是另一个问题的重复,我不确定.我读过类似的问题,但要么无法理解它,要么无法成功应用给定的解决方案.

我创建了一个包含多个选项卡的应用程序.大多数选项卡使用ASyncTask在用户滑入选项卡时更新数据.但是,当AST仍然在运行时有关活动的某些内容发生变化(这种情况发生很多;例如,当用户旋转屏幕或使用后退按钮退出时),应用程序将强制关闭(ANR).

这是我在LogCat中看到的情况:

10-30 11:30:01.422: E/AndroidRuntime(4687): FATAL EXCEPTION: main
10-30 11:30:01.422: E/AndroidRuntime(4687): java.lang.NullPointerException
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.appconstructor.khcreates.Core$refreshList.onPostExecute(Core.java:913)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.appconstructor.khcreates.Core$refreshList.onPostExecute(Core.java:1)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask.finish(AsyncTask.java:631)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.Looper.loop(Looper.java:137)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at java.lang.reflect.Method.invokeNative(Native Method)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at java.lang.reflect.Method.invoke(Method.java:511)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at dalvik.system.NativeStart.main(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android screen-rotation android-asynctask android-anr-dialog

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

使用ActionBarSherlock制作ActionBar叠加层

最近几天我一直在开发中做了很多东西,但我似乎已经碰到了一些可能很简单的东西.它很烦人.我希望能得到一些帮助.

我想做什么

我试图创建一个从谷歌音乐的真棒透明的动作条动画效果(如西里尔Mottier描述这里)

问题

我甚至无法让操作栏进入叠加/透明模式.

我的设置

我在Eclipse中有一个面向库的设置.我有一个包含所有实际代码和活动的库项目(让我们称之为master).然后我有一个项目,只是插入主库(让我们称之为奴隶).最后,有一些主要使用的开源支持库(其中包括ActionBarSherlock).

我正在尝试将此效果应用于主库中的活动.它在奴隶的清单中被宣布为com.example.master.DetailActivity,它就像一个魅力.

另外:活动的主题可能来自几个地方.它可以由slave的清单设置,也可以由master在运行时设置.主题可能来自主人或奴隶项目.

我试过的

感觉就像一切.我首先创建了一个基于Cyril文章的自定义主题.android:根据Jake Wharton的说明,我确保每个项目都有一个带有和没有前缀的版本.

我也试过在运行时使用它来设置它 requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

我得到了什么

没有.主题成功应用(我可以看到动作栏的颜色适当改变),但它永远不会进入叠加模式,也不会变得透明.

非常感谢帮助,并可能有助于其他人尝试这种效果.

编辑:

这是我的主题和风格.代码有点乱,因为我一直在试验它们,看看我哪里出错了.AppThemeTheme.TranslucentActionBar.ActionBar.Overlay两者都将无法正常工作./ RES /值/

/ RES /值-V11 /

我正在测试安装了4.2.2的Nexus 4以及2.3.3仿真器.

android libraries actionbarsherlock android-actionbar

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

为什么SaxParser随机失败?

我在Android应用程序中使用SAX解析器一次读取一些feed.脚本执行如下.

                     // Begin FeedLezer
                    try {

                        /** Handling XML **/
                        SAXParserFactory spf = SAXParserFactory.newInstance();
                        SAXParser sp = spf.newSAXParser();
                        XMLReader xr = sp.getXMLReader();

                        /** Send URL to parse XML Tags **/
                        URL sourceUrl = new URL(
                            BronFeeds[i]);

                        /** Create handler to handle XML Tags ( extends DefaultHandler ) **/
                        Feed_XMLHandler myXMLHandler = new Feed_XMLHandler();
                        xr.setContentHandler(myXMLHandler);
                        xr.parse(new InputSource(sourceUrl.openStream()));

                    } catch (Exception e) {
                        System.out.println("XML Pasing Excpetion = " + e);
                    }
                     sitesList = Feed_XMLHandler.sitesList;

                    String titels = sitesList.getMergedTitles();
Run Code Online (Sandbox Code Playgroud)

这里有Feed_XMLHandler.javaFeed_XMLList.java …

java android special-characters saxparser

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