Questions tagged «android»

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



3
警告:此AsyncTask类应该是静态的,否则可能会发生泄漏
我在代码中收到一条警告,指出: 此AsyncTask类应该是静态的,否则可能会发生泄漏(匿名android.os.AsyncTask) 完整的警告是: 此AsyncTask类应该是静态的,否则可能会发生泄漏(匿名android.os.AsyncTask)。静态字段将泄漏上下文。非静态内部类对其外部类具有隐式引用。如果该外部类例如是Fragment或Activity,则此引用意味着长时间运行的处理程序/加载器/任务将持有对该活动的引用,从而防止该活动获取垃圾。同样,对这些较长运行实例的活动和片段的直接字段引用也可能导致泄漏。ViewModel类永远不要指向视图或非应用程序上下文。 这是我的代码: new AsyncTask<Void,Void,Void>(){ @Override protected Void doInBackground(Void... params) { runOnUiThread(new Runnable() { @Override public void run() { mAdapter.notifyDataSetChanged(); } }); return null; } }.execute(); 我该如何纠正?

18
此版本的应用程序未配置为通过Google Play计费
Наэтотвопросестьответына 堆栈溢出нарусском:Этаверсияприложениянеработаетсплатёжнойсистемой谷歌播放 当我尝试使用应用内结算来运行我的应用程序时,出现错误消息:“此版本的应用程序未配置为通过Google Play进行计费。请查看帮助中心以获取更多信息”。 我已经在清单文件中获得了结算许可,并且我已经将签名的.apk作为草稿上传到Google Play上,并且我还将该签名的apk安装到了我的手机上。 对如何解决此问题有帮助吗?

25
Android:如何创建不带标题的对话框?
我正在尝试在Android中生成自定义对话框。我这样创建对话框: dialog = new Dialog(this); dialog.setContentView(R.layout.my_dialog); 除了对话框的标题,一切都正常。即使我没有设置对话框的标题,对话框的弹出窗口在对话框的位置也会有一个空格。 有什么办法可以隐藏对话框的这一部分吗? 我用AlertDialog尝试了一下,但似乎布局设置不正确: LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.map_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(view); // dialog = new Dialog(this); // dialog.setContentView(R.layout.map_dialog); dialog = builder.create(); ((TextView) dialog.findViewById(R.id.nr)).setText(number); 如果使用此代码,则在最后一行中将获得空的Pointer Exception。该对话框不为null,因此我尝试检索的TextView不存在。 如果取消注释使用“对话构造器”的部分,则一切正常,但对话框布局上方的标题除外。

21
Android:从操作栏的自定义布局中删除左侧边距
我使用的是自定义操作栏视图,如下面的屏幕截图所示,操作栏中有空白的灰色空间。我要删除它。 我做了什么: res / values-v11 / styles.xml <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="actionBarStyle">@style/ActionBarStyle</item> </style> res / values / my_custom_actionbar.xml <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="android:height">60dp</item> </style> </resources> 表现 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> <application android:icon="@drawable/ic_launcher" android:label="@string/AppName" android:theme="@style/AppBaseTheme" > <!-- activities... etc --> </application> 主要活动 public void onCreate(Bundle bundle) { …

8
如何为启动器而不是活动标题设置不同的标签?
之前已经问过这个问题-但根本没有令人满意的答案!所以我再试一次。 我想给我的应用程序启动器图标(显示在开始屏幕上的图标)一个不同的较短标题。似乎启动程序从mainfest部分获取有关主要活动标签的标签,如下所示: <activity android:name="MainActivity" android:label="@string/app_short_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 我已经在此处将对应用程序名称@ string / app_name的原始引用更改为另一个较短的字符串资源。 BUT-大BUT:当然,这也会更改此活动的默认标题!而且我不希望这种情况发生,因为有足够的空间来容纳较长的应用程序名称!再次onCreate使用该setTitle(int)方法设置长标题也无济于事,因为短名称将在短时间内对用户可见,但足以引起注意! 而且-请不要通过引用自定义标题栏来回答我的问题...我不想走那么长的路,仅仅因为一个愚蠢的字符串标题!绘制自定义标题栏效果太差了! 有没有简单的方法就这样给发射不同的字符串显示?感谢您的回答! 编辑:拥有自定义标题栏的另一个麻烦是它看起来不会像默认标题栏,我必须明确地做一些事情,以使其在每个设备上看起来都一样!如果毕竟我不想要其他外观,那将不是解决方案!

18
替换ViewPager中的片段
我试图使用片段与ViewPager使用FragmentPagerAdapter。我要实现的目标是ViewPager用另一个替换位于第一页的片段。 寻呼机由两页组成。第一个是FirstPagerFragment,第二个是SecondPagerFragment。单击第一页的按钮。我想FirstPagerFragment用NextFragment代替。 下面是我的代码。 public class FragmentPagerActivity extends FragmentActivity { static final int NUM_ITEMS = 2; MyAdapter mAdapter; ViewPager mPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_pager); mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } /** * Pager Adapter */ public static class MyAdapter extends FragmentPagerAdapter { public …

30
滚动视图内的Android列表视图
我有一个Android布局,其中有一个 scrollView许多元素。在scrollViewI 的底部,有一个listView然后由适配器填充。 那我遇到的问题是,Android是不包括listView从scrollView作为scrollView已经具有滚动能够功能。我希望listView内容尽可能长,并且主滚动视图可滚动。 我该如何实现这种行为? 这是我的主要布局: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:fillViewport="true" android:gravity="top" > <LinearLayout android:id="@+id/foodItemActvity_linearLayout_fragments" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> 然后,我以编程方式将组件添加到id为的linearlayour中foodItemActvity_linearLayout_fragments。以下是载入该线性布局的视图之一。这是给我麻烦的卷轴之一。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/fragment_dds_review_textView_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reviews:" android:textAppearance="?android:attr/textAppearanceMedium" /> <ListView android:id="@+id/fragment_dds_review_listView" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> 然后,我的适配器将填充此列表视图。 这是当我单击主scrollView时来自android层次结构查看器的图像: 如您所见,它不包括评论listView。 我应该能够向下滚动页面并查看8条评论,但相反,它只向我显示这3条评论,并且我可以滚动查看评论所在的微小部分。我想要全局页面滚动

7
在RecyclerView中获取可见的物品
我需要知道RecyclerView中当前显示哪些元素。没有等效OnScrollListener.onScroll(...)于ListViews 的方法。我尝试与一起使用View.getGlobalVisibleRect(...),但是这种骇客行为太丑陋,而且并非总是如此。 有人有什么想法吗?


30
Android studio错误“检测到不支持的模块:以下模块不支持编译”
我正在使用Android Studio 1.0.1。我的项目中的其他模块都引用了一个Java模块。我已经从SVN中签出了,但是现在每个 检测到不支持的模块:以下模块不支持编译:。不幸的是,您不能在一个项目中拥有非Gradle Java模块和Android-Gradle模块。 收到此错误后,请停止对该模块的编译,以使我无法再编译/运行我的项目。

12
Android使用哪些架构模式?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我正在对移动平台进行小规模研究,我想知道Android中使用了哪些设计模式? 例如,在iOS中,Model-view-controller与委托和其他模式一起被广泛使用。 Android使用什么模式,特别是在什么地方使用? 编辑 我不是在内核,dalvik等中使用深层设计模式,而是在开发应用程序时应用程序开发人员会遇到的模式。

8
SharedPreferences.onSharedPreferenceChangeListener未被一致调用
我正在这样注册一个偏好设置更改监听器(在onCreate()我的主要活动中): SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener( new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged( SharedPreferences prefs, String key) { System.out.println(key); } }); 麻烦的是,监听器并不总是被调用。它会在前几次更改首选项时起作用,然后在我卸载并重新安装该应用程序之前不再调用它。重新启动应用程序似乎无济于事。 我发现一个邮件列表线程报告了同样的问题,但是没有人真正回答他。我究竟做错了什么?

4
什么是“ android:allowBackup”?
由于新的ADT预览版(版本21) ,他们有一个新的皮棉警告,告诉我在清单文件,接下来的事情(在应用程序标签): 应该将android:allowBackup显式设置为true或false(默认情况下为true,这可能会对应用程序的数据产生一些安全隐患) 他们在官方网站上写道: 进行了两项新检查:必须明确确定您的应用是否允许备份以及标签检查。有一个用于设置库路径的新命令行标志。编辑时对增量皮棉分析的许多改进。 这是什么警告?什么是备份功能,如何使用? 另外,为什么警告告诉我它具有安全隐患?禁用此功能有哪些不利和好处? 清单备份有两个概念: “机器人:allowBackup ”允许备份和通过ADB恢复,如图所示在这里: 是否允许应用程序参与备份和还原基础结构。如果将此属性设置为false,则即使通过全系统备份也不会执行应用程序的备份或还原,否则将导致所有应用程序数据通过adb保存。此属性的默认值为true。 这被认为是安全问题,因为人们可以通过ADB备份您的应用程序,然后将您应用程序的私有数据存储到他们的PC中。 但是,我认为这不是问题,因为大多数用户不知道什么是adb,如果这样做,他们也将知道如何对设备进行root操作。仅当设备启用了调试功能时,ADB功能才起作用,并且需要用户启用它。 因此,只有将其设备连接到PC并启用调试功能的用户才会受到影响。如果他们的PC上有使用ADB工具的恶意应用程序,则可能会出现问题,因为该应用程序可以读取私有存储数据。 我认为Google应该只在开发人员类别中添加默认情况下禁用的功能,以允许通过ADB备份和还原应用程序。 “ android:backupAgent ”允许使用云的备份和还原功能,如此处和此处所示: 实现应用程序的备份代理的类的名称,它是BackupAgent的子类。该属性值应该是完全限定的类名称(例如“ com.example.project.MyBackupAgent”)。但是,作为简写形式,如果名称的第一个字符是句点(例如,“。MyBackupAgent”),则会将其附加到元素中指定的包名称中。没有默认值。必须指定名称。 这不是安全问题。

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.