Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

18
注销时,清除“活动历史记录”堆栈,以防止“后退”按钮打开仅登录的活动
我的应用程序中的所有活动都需要用户登录才能查看。用户几乎可以退出任何活动。这是应用程序的要求。无论何时用户注销,我都想将用户发送到Login Activity。此时,我希望此活动位于历史记录堆栈的底部,以便按下“后退”按钮可使用户返回Android的主屏幕。 我已经看到这个问题在几个不同的地方问过,所有问题都得到了相似的答案(我在这里概述了),但是我想在这里提出来收集反馈。 我尝试通过设置其Intent标志FLAG_ACTIVITY_CLEAR_TOP似乎按照文档中所述进行操作来打开Login活动,但是并没有实现将Login活动放在历史记录堆栈底部并防止用户向后导航的目标。以前看过的登录活动。我也尝试android:launchMode="singleTop"在清单中用于Login活动,但这也没有实现我的目标(而且似乎也没有任何作用)。 我相信我需要清除历史记录堆栈,或完成所有先前打开的活动。 一种选择是让每个活动的onCreate检查都处于登录状态,finish()如果尚未登录则。我不喜欢此选项,因为后退按钮仍然可以使用,随着活动自身关闭,它可以返回。 下一个选项是维护LinkedList对所有打开的活动的引用,这些引用可以从任何地方静态访问(可能使用弱引用)。注销后,我将访问此列表并遍历所有先前打开的活动,并finish()在每个活动上进行调用。我可能很快就会开始实现此方法。 但是,我宁愿使用一些Intent标记技巧来完成此操作。我很高兴发现自己可以满足我的应用程序要求,而不必使用上面概述的两种方法中的任何一种。 有没有一种方法可以通过使用Intent或清单设置来实现,或者我的第二个选择是保持LinkedList打开的活动是最好的选择?还是我完全忽略了另一个选择?


27
默认FirebaseApp未初始化
我们Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.在Android应用程序中看到了一些例外消息,其中刚刚添加了Firebase Remote Config。 堆栈跟踪如下: Fatal Exception: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first. at com.google.firebase.FirebaseApp.getInstance(Unknown Source) at com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source) at com.example.app.fragments.SomeFragment.updateFooter(SourceFile:295) at com.example.app.fragments.SomeFragment.onCreateView(SourceFile:205) at android.support.v4.app.Fragment.performCreateView(SourceFile:2080) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1108) …

9
如何以编程方式在RelativeLayout中布置视图?
我正在尝试以编程方式(而不是通过XML声明性地)实现以下目标: <RelativeLayout...> <TextView ... android:id="@+id/label1" /> <TextView ... android:id="@+id/label2" android:layout_below: "@id/label1" /> </RelativeLayout> 换句话说,如何使第二个TextView出现在第一个下面,但是我想在代码中这样做: RelativeLayout layout = new RelativeLayout(this); TextView label1 = new TextView(this); TextView label2 = new TextView(this); ... layout.addView(label1); layout.addView(label2); setContentView(layout); 更新: 谢谢,TreeUK。我了解总体方向,但仍然无法正常工作-“ B”与“ A”重叠。我究竟做错了什么? RelativeLayout layout = new RelativeLayout(this); TextView tv1 = new TextView(this); tv1.setText("A"); TextView tv2 …

5
在Android Studio中生成签名的APK时,签名版本之间的区别-V1(Jar签名)和V2(完整APK签名)吗?
请选择至少一个签名版本以在Android Studio 2.3中使用 现在,在Android Studio中生成签名APK时,它在签名APK生成过程的最后一步中显示了两个选项(复选框)即1. V1 (Jar Signature)和2. V2 (Full APK Signature)作为签名版本。 那么,在新的Android Studio更新中,V1(Jar签名)和V2(完整APK签名)之间有什么区别? 我应该使用哪个(或同时使用两个)来为Play商店发布的APK签名? 另外,当我使用第二个选项时,在安装APK时安装Parse Failed No Certificates时出现错误。



7
活动上下文和应用程序上下文之间的区别
这让我感到困惑,我在Android 2.1-r8 SDK中使用了它: ProgressDialog.show(getApplicationContext(), ....); 并且在 Toast t = Toast.makeText(getApplicationContext(),....); 使用都getApplicationContext()崩溃ProgressDialog和Toast..这导致我这个问题: 尽管使用了“上下文”一词,但活动上下文和应用程序上下文之间的实际区别是什么?

30
FileProvider-IllegalArgumentException:无法找到配置的根目录
我正在尝试用相机拍照,但是出现以下错误: FATAL EXCEPTION: main Process: com.example.marek.myapplication, PID: 6747 java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/com.example.marek.myapplication/files/Pictures/JPEG_20170228_175633_470124220.jpg at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:711) at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400) at com.example.marek.myapplication.MainActivity.dispatchTakePictureIntent(MainActivity.java:56) at com.example.marek.myapplication.MainActivity.access$100(MainActivity.java:22) at com.example.marek.myapplication.MainActivity$1.onClick(MainActivity.java:35) AndroidManifest.xml: <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.example.marek.myapplication.fileprovider" android:enabled="true" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> Java: Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // Ensure that there's a camera …

7
Android:多行EditText(文本区域)的垂直对齐
我想为文本区域的高度设置5行。我正在使用以下代码。 <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:singleLine="false" android:lines="5" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" /> 文本区域看起来不错,但是问题在于光标在文本字段的中间闪烁。我希望它在文本字段的第一个字符的第一行闪烁。

12
从DialogFragment接收结果
我正在使用DialogFragments做很多事情:从列表中选择项目,输入文本。 将值(即列表中的字符串或项目)返回到调用活动/片段的最佳方法是什么? 目前,我正在实现调用活动的实现DismissListener,并为DialogFragment提供了对该活动的引用。然后,对话框将调用OnDimiss活动中的方法,活动将从DialogFragment对象获取结果。非常混乱,由于DialogFragment丢失了对活动的引用,因此无法进行配置更改(方向更改)。 谢谢你的帮助。


6
我们应该使用RecyclerView替换ListView吗?
Android文档说: RecyclerView小部件是ListView的更高级,更灵活的版本。该小部件是一个用于显示大型数据集的容器,可以通过维护有限数量的视图来非常高效地滚动该数据集。当您有数据收集,其元素在运行时根据用户操作或网络事件而更改时,请使用RecyclerView小部件 ListView如果效率无关紧要,实际上可以完成上述所有操作,并且当我们RecyclerView用来替换时,我们发现了很多问题ListView: 没有用于列表项选择的onItemClickListener()- 解决方案 列表项之间没有分隔符- 解决方案 没有内置的重叠选择器,单击列表项时没有视觉反馈- 解决方案 列表头没有addHeaderView- 解决方案 也许更多的问题... 因此,当我们使用RecyclerViewreplace时ListView,我们必须做很多额外的编码才能达到与相同的效果ListView。 题: 我们完全替换ListView成值得RecyclerView吗? 如果不是那么在这种情况下,我们应该更好地利用RecyclerView替代ListView,反之亦然?

25
在后台运行应用程序时未调用Firebase onMessageReceived
我正在使用Firebase,并测试在后台运行时从服务器向我的应用发送通知。通知已成功发送,甚至出现在设备的通知中心,但是当出现通知或即使我单击通知时,也不会调用FCMessagingService中的onMessageReceived方法。 当我在我的应用程序处于前台时对其进行测试时,将调用onMessageReceived方法,并且一切正常。当应用程序在后台运行时,会发生此问题。 这是预期的行为,还是我可以解决此问题的方法? 这是我的FBMessagingService: import android.util.Log; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; public class FBMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.i("PVL", "MESSAGE RECEIVED!!"); if (remoteMessage.getNotification().getBody() != null) { Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getNotification().getBody()); } else { Log.i("PVL", "RECEIVED MESSAGE: " + remoteMessage.getData().get("message")); } } }

11
Android-以编程方式设置TextView TextStyle?
有没有办法以编程方式设置textStyle属性TextView?似乎没有setTextStyle()方法。 明确地说,我不是在谈论视图/小部件样式!我在谈论以下内容: <TextView android:id="@+id/my_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World" android:textStyle="bold" />
232 java  android  textview 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.