javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

android-从Genymotion mu访问主机

我尝试使用IP地址192.168.56.1从我的应用程序连接到主机,但没有成功。 我签入了ipconfig,并且上面提到的IP有一个Virtualbox连接。 有人可以帮助修复它吗?

trans by 2020-08-08T14:54:15Z

Android导航架构组件-获取当前可见的碎片

在尝试导航组件之前,我曾经手动执行片段事务,并使用fragment标签来获取当前片段。

NavHostFragment

现在在我的主要活动布局中,我有类似以下内容:

<fragment
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/nav_host"
        app:navGraph= "@navigation/nav_item"
        android:name="androidx.navigation.fragment.NavHostFragment"
        app:defaultNavHost= "true"
        />

如何通过导航组件检索当前显示的片段?在做

NavHostFragment

返回NavHostFragment,我想检索显示的“ MyFragment”。

谢谢。

trans by 2020-08-08T14:35:56Z

android-两次启动器活动

我有两个标记有意图过滤器的活动

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application
    android:name=".MyApp"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <!-- work order activity -->
    <activity
        android:name=".app.WorkOrderActivity"
        android:label="@string/work_order"
        android:taskAffinity="com.package.task_for_work_order_activity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- inventory activity -->
    <activity
        android:name=".app.InventoryActivity"
        android:label="@string/inventory"
        android:taskAffinity="com.package.task_for_inventory_activity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

问题是,当我安装apk文件时,没有显示任何活动,因为据我了解,系统无法指定应显示哪些活动。

我只需要启动器中显示的两个活动,因此请不要就从第二个活动中删除意图过滤器提供建议,否则,请提供另一种在启动器中显示两个图标的方式。

trans by 2020-08-08T14:12:50Z

android-材质设计layout_scrollFlags的含义

我发现我们可以通过使用fragment使用酷标志来滚动工具栏和内容,就我而言,我的布局是这样的:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="snap"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill" />
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

我的一个标签是fragment,其布局中有一个Recycle View,而RecycleView下方是edittext。 首先我想知道这个标志的意思

谷歌说:

  • SCROLL_FLAG_ENTER_ALWAYS
    进入(在屏幕上滚动)时,无论滚动视图是否也在滚动,该视图都会在任何向下滚动事件上滚动。
  • SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED
    'enterAlways'的附加标志将返回的视图修改为仅最初滚动回其折叠高度。
  • SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
    退出时(滚动到屏幕之外),视图将一直滚动直到“折叠”为止。
  • SCROLL_FLAG_SCROLL
    该视图将与滚动事件直接相关地滚动。
  • SCROLL_FLAG_SNAP
    滚动结束后,如果视图仅部分可见,则它将被捕捉并滚动到最接近的边缘。

我随机更改了此标志,在某些情况下,我的编辑文本消失了,直到我向上滚动工具栏,然后出现编辑。 我阅读了Google文档但我做得不好。 我想简单地理解它。

trans by 2020-08-08T14:11:29Z

java-ChangeCurrentByOneFromLongPress命令中的NPE(在具有/ Android 4.3的Samsung设备上)

在Android应用程序视图中使用一对android.widget.NumberPicker,并按住数字箭头之一时收到以下消息:

FATAL EXCEPTION: main 
java.lang.NullPointerException at android.widget.NumberPicker$ChangeCurrentByOneFromLongPressCommand.run(NumberPicker.java:2245)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5419)

有人对我如何解决此问题有任何想法吗?

更新:从到目前为止的评论来看,似乎只有在装有Android 4.3的三星设备上才发生此异常。

trans by 2020-08-07T13:38:19Z

如何在Android中正确使用AsyncTask

我不想将任何参数传递给AsyncTask的doInBackground方法。

那么代码应该是什么样的呢?

trans by 2020-08-07T09:51:53Z

Java-Android TextUtils isEmpty与String.isEmpty

TextUtils.isEmpty(string)TextUtils.isEmpty(string)有什么区别?

两者执行相同的操作。

使用TextUtils.isEmpty(string)有优势吗?

trans by 2020-08-07T08:20:03Z

带有Jadle 0.10.0的Jacoco:远程对象不存在

2014年10月21日更新:已使用buildtools 21解决了该问题。

2014年9月18日更新:问题的状态已更新为FutureRelease

更新:我听说这可能不适用于Dagger,并且由于Espresso使用Dagger,因此可能会引起一些问题。 一个错误已提交给Gradle团队。


Google最近将其Gradle实施更新为0.10.0。 他们现在提供的一件事是Jacoco支持。 为此,他们提到设置以下内容:

testCoverageEnabled = true

进入您的构建类型。 现在,当我运行Espresso测试(使用build.gradle)时,在开始运行:connectedAndroidTest任务时,我得到了正确的错误,该任务指出:

Tests on HTC One - 4.2.2 - API 17 - 1080x1920 - 4.2.2 failed: Instrumentation run failed due to 'java.lang.VerifyError'
01:38:31 E/Device: Error during Sync: Remote object doesn't exist!
null
java.io.IOException: com.android.ddmlib.SyncException: Remote object doesn't exist!
at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:114)
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:158)
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:42)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.android.ddmlib.SyncException: Remote object doesn't exist!
at com.android.ddmlib.SyncService.pullFile(SyncService.java:314)
at com.android.ddmlib.Device.pullFile(Device.java:849)
at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:107)
... 8 more
:connectedAndroidTest FAILED

以下是我在build.gradle文件中更改的部分:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
        ...
    }
    ...
}

android {
    buildTypes {
        debug {
            testCoverageEnabled = true
            ...
        }
        ....
    }
    ...
}

为了让Jacoco工作,是否需要更新其他文件build.gradle

该错误提到“远程对象”不存在。 通常,我将此归因于仿真器不同步,并且重新启动会解决该问题。 但是我已经尝试过了,但是也没有用。 任何想法错误试图告诉我吗?

trans by 2020-08-07T07:03:16Z

无法升级Android SDK工具

我正在尝试将Android SDK工具从版本15升级到版本16。更新失败,并声称“文件夹移动失败”:

无法将目录C:\ android-sdk \ tools重命名为 C:\ android-sdk \ temp \ ToolPackage.old01

我曾尝试禁用我的防病毒软件(因为该问题已在2009年被某些人报告),但没有奏效。 全新的重启也不起作用。 我在两台不同的Windows 7计算机上遇到此问题。

从以前的版本一直升级到版本15,我都没有遇到这个问题。

有人知道我该如何规避?

trans by 2020-08-07T06:00:18Z

android-通知multilin

如何制作长通知多行。 我正在使用以下代码片段,但无法正常工作:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
  .setContentTitle(title)
  .setSmallIcon(R.drawable.icon)
  .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
  .setContentText(message)
  .setContentIntent(pIntent);

return mBuilder.build();
trans by 2020-08-07T05:41:20Z

android-firebase的应用令牌在什么时期发生变化以及如何管理?

我刚接触Firebase,就像学走路的小孩一样学习它。 到目前为止,我已经设法使用Firebase框架为手机生成的令牌向自己的手机发送消息。 现在这是棘手的地方(我认为)。 FirebaseInstanceIdService扩展服务中有一种称为onTokenRefresh()的方法。 由于它被称为刷新,因此我假设它将改变。 我想知道何时创建此令牌以及何时将其更改?

如果更改了,假设我将消息发送到令牌为“ A”的设备,该设备暂时处于离线状态,因此它将排队。 现在,当设备在线时,它将“刷新”令牌为“ B”。 现在,由于应该将消息传递到令牌“ A”,因此将永远不会传递消息。 我该如何处理这种情况?

trans by 2020-08-07T04:52:39Z

android-FEATURE_ACTIVITY_TRANSITIONS与FEATURE_CONTENT_TRANSITION

我在理解这两个Window标志之间的区别时遇到了一些麻烦,并且不确定100%何时需要使用每个标志以及为什么使用它们。

FEATURE_ACTIVITY_TRANSITIONS的文档说:

使活动能够运行活动转换 通过发送或接收使用创建的ActivityOptions捆绑包 FEATURE_ACTIVITY_TRANSITIONSFEATURE_CONTENT_TRANSITIONS

300030009981440041984的文档说:

要求更改窗口内容的标志 使用FEATURE_ACTIVITY_TRANSITIONS进行动画制作。

FEATURE_ACTIVITY_TRANSITIONS使用 FEATURE_CONTENT_TRANSITIONS。 如果未设置,将使用默认值FEATURE_CONTENT_TRANSITIONS

该文档指出,以下FEATURE_ACTIVITY_TRANSITIONS方法要求启用FEATURE_ACTIVITY_TRANSITIONS标志,但是对于是否也需要启用FEATURE_CONTENT_TRANSITIONS(请注意,根据源代码,对于材料- 默认情况下为主题的应用程序):

  • FEATURE_ACTIVITY_TRANSITIONS
  • FEATURE_ACTIVITY_TRANSITIONS
  • FEATURE_ACTIVITY_TRANSITIONS
  • FEATURE_ACTIVITY_TRANSITIONS
  • FEATURE_ACTIVITY_TRANSITIONS
  • FEATURE_ACTIVITY_TRANSITIONS

换句话说,基于此信息,似乎FEATURE_ACTIVITY_TRANSITIONS是应用程序需要启用才能使用Lollipop的新Activity Transition API的功能标志。 但是,令我感到困惑的是,Android开发者网站上的这篇文章指出,要实现自定义活动过渡,需要启用FEATURE_CONTENT_TRANSITIONS

所以这是我的问题:

  1. 这两个标志有什么区别? 在这种情况下,“活动过渡”和“内容过渡”有什么区别?
  2. 为什么默认情况下启用FEATURE_ACTIVITY_TRANSITIONS,而禁用FEATURE_CONTENT_TRANSITIONS? 实际何时需要启用FEATURE_CONTENT_TRANSITIONS标志?
  3. 禁用FEATURE_ACTIVITY_TRANSITIONS并启用FEATURE_CONTENT_TRANSITIONS是否有意义? 还是也需要启用FEATURE_CONTENT_TRANSITIONS 300030009981440041987?

谢谢!

trans by 2020-08-07T04:05:50Z

android-FragmentPagerAdapter无法正确删除项目(片段)

我已经实现了FragmentPagerAdapter,并使用FragmentPagerAdapter来保存所有片段,以便显示ViewPager。 在addItem()上,我只需添加实例化的Fragment,然后调用notifyDataSetChanged()。我不确定是否有必要。

我的问题就是...从片段1开始

[Fragment 1] 

添加新的片段2

[Fragment 1] [Fragment 2]

删除片段2

[Fragment 1]

添加新的片段3

[Fragment 1] [Fragment 2]

添加新片段时,一切似乎都很棒。 一旦删除片段,然后添加新实例化的片段,仍会显示旧片段。 当我使用FragmentPagerAdapter时,它给我片段3的名称,但是我仍然看到片段2。

我相信这可能是FragmentPagerAdapter之类的问题,但我认为适配器将为我们解决这个问题。 任何建议都很好。

适配器代码...

public class MyPagerAdapter extends FragmentPagerAdapter {
public final ArrayList<Fragment> screens2 = new ArrayList<Fragment>();


private Context context;

public MyPagerAdapter(FragmentManager fm, Context context) {
    super(fm);
    this.context = context;
}

public void removeType(String name){
    for(Fragment f: screens2){
        if(f.getClass().getName().contains(name)){ screens2.remove(f); return; }
    }
    this.notifyDataSetChanged();
}

public boolean addSt(String tag, Class<?> clss, Bundle args){
    if(clss==null) return false;
    if(!clss.getName().contains("St")) return false; 
    if(!args.containsKey("cId")) return false;
    boolean has = false;
    boolean hasAlready = false;
    for(Fragment tab: screens2){
        if(tab.getClass().getName().contains("St")){
            has = true;
            if(tab.getArguments().containsKey("cId"))
                if(tab.getArguments().getLong("cId") == args.getLong("cId")){
                    hasAlready = true;
                }
            if(!hasAlready){
                // exists but is different so replace
                screens2.remove(tab);
                this.addScreen(tag, clss, args, C.PAGE_ST);
                // if returned true then it notifies dataset
                return true;
            }
        }
        hasAlready = false;
    }

    if(!has){ 
        // no st yet exist in adapter
        this.addScreen(tag, clss, args, C.PAGE_ST);
        return true;
    }

    return false;
}

public boolean removeCCreate(){
    this.removeType("Create");  
    return false;
}

@Override
public int getItemPosition(Object object) {

   return POSITION_NONE; //To make notifyDataSetChanged() do something
  }

public void addCCreate(){
    this.removeCCreate();
    Log.w("addding c", " ");
    this.addScreen("Create C",  CreateCFragment.class, null, C.PAGE_CREATE_C);
}

public void addScreen(String tag, Class<?> clss, Bundle args, int type){
    if(clss!=null){
        screens2.add(Fragment.instantiate(context, clss.getName(), args));
    }
}

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


@Override
public Fragment getItem(int position) {
    return screens2.get(position); 
}

}

我意识到该代码使用了一些“贫民区”来确定片段类型,但是我严格地编写此代码是为了测试功能。 任何帮助或想法都将是巨大的,因为似乎没有多少人冒险进入FragmentPagerAdapters这个世界。

trans by 2020-08-07T03:58:07Z

如何在Android中使用ViewGroup

如何在Android中使用ViewGroup

trans by 2020-08-07T03:51:08Z

加载第一个Fragment后,ViewPager调用setUserVisibleHint

在我的应用程序中,我有一个ViewPager,其中装有许多带有片段的可滑动选项卡。 我使用setUserVisibleHint方法来检测ViewPager何时出现在屏幕上。 当用户在标签之间滑动时,此功能非常有用,但在首次加载时不起作用。 要在该方法中运行代码,我必须向左滑动然后再回到第一个Fragment,因为在onCreateView方法之前调用了setUserVisibleHint方法。

您对第一个Fragment可见后如何运行此代码有任何想法吗? ViewPager中有其他方法吗?

trans by 2020-08-07T01:21:57Z

android-FragmentActivity中的“ setSupportActionBar(toolbar)”?

如何访问FragmentActivity中的setSupportActionBar(Toolbar toolbar)?我无法在FragmentActivity内访问它

toolbar = (Toolbar) findViewById(R.id.search_bar);
setSupportActionBar( toolbar);
trans by 2020-08-07T01:02:26Z

将WebGL应用程序部署为本地iOS或Android应用程序?

有人知道您可以将WebGL应用程序部署为本地iOS或Android应用程序的方式吗? 商业中间件是可以接受的,尽管最好是开放项目。 谢谢。

trans by 2020-08-07T00:48:52Z

Android:两个Spinner onItemSelected()

我在一个Activity中有两个微调器(day_spin和time_spin)。我想将所选的day_spin值保存到变量中。 是否可以在同一个Listener中区分两个微调器? 还是我必须为每个微调器编写自己的Listener类?

我也想获得所选项目的编号。 例如,我有6个元素的字符串数组。 我选择数字3。如何获取ID?

    day_spin = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter_day = ArrayAdapter
            .createFromResource(this, R.array.spinner_day_array,
                    android.R.layout.simple_spinner_item);
    adapter_day
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    day_spin.setAdapter(adapter_day);
    day_spin.setOnItemSelectedListener(this);

    time_spin = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter_time = ArrayAdapter
            .createFromResource(this, R.array.spinner_time_array,
                    android.R.layout.simple_spinner_item);
    adapter_time
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    time_spin.setAdapter(adapter_time);
    time_spin.setOnItemSelectedListener(this);

这是我的Listener

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    DAY = parent.getItemAtPosition(pos).toString();
    TIME = parent.getItemAtPosition(pos).toString();
}

我希望你能帮帮我!

trans by 2020-08-07T00:29:02Z

如何在Android的“选项”菜单上更改MenuItem?

我的Activity上有一个选项菜单,带有mymenu.xml“开始”。 选择此3000128611611048489985后,我想更改菜单,使其包含MenuItem“停止”。 最后,当选择“停止”时,我想改回“开始”。

这是我的部分代码无法正常工作。 我在mymenu.xml中同时列出了“开始”和“停止”,创建菜单时可能应该删除“停止”:

public class MyActivity extends Activity {
    private boolean isStarted = false;

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        menu.removeItem(R.id.stop);
        inflater.inflate(R.menu.mymenu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.start:
            isStarted = true;
            return true;
        case R.id.stop:
            isStarted = false;
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        if(isStarted) {
            menu.removeItem(R.id.start);
            menu.add(R.id.stop);
        } else {
            menu.removeItem(R.id.stop);
            menu.add(R.id.start);
        }
        return true;
    }
}
trans by 2020-08-07T00:15:10Z

在Android上使用GData API的最佳选择?

在Android应用程序中使用Google Data API的最痛苦,最省空间的方法是什么?

经过几次快速搜索后,t似乎在Google Code上有了一个android-gdata项目,这似乎是一个作者的工作。 我没有找到任何文档,甚至不知道它是否已经准备好投入生产。

较早的选项com.google.wireless.gdata程序包似乎已从SDK中删除。 它仍然可以在GIT存储库中使用。

在我花太多时间使用这两种方法之前,我想知道哪种方法最受支持且痛苦最小。

trans by 2020-08-06T22:21:45Z

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共280页