我需要知道哪些元素当前显示在我的RecyclerView。 ListViews上没有等效于OnScrollListener.onScroll(…)方法。 我试图与View.getGlobalVisibleRect(…)一起工作,但是这个黑客太难看了,并不总是工作。 有人有什么想法?
我一直在Android程序上使用Intent和ACTION_SEND发送附件(图像文件,audio文件等)的电子邮件。 当电子邮件有一个附件时,该程序正在工作。 我使用Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri)将指定的图像文件附加到邮件,它工作正常,邮件可以通过Gmail传递。 但是,当我试图通过多次调用Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri)多个图像附加到相同的邮件,它失败了。 没有附件显示在电子邮件中。 我search了关于电子邮件附件的SDK文档和Android编程用户组,但找不到任何相关信息。 但是,我发现还有另一个意图常量ACTION_SEND_MULTIPLE (可用于API级别4),可能会满足我的要求。 基于SDK文档,它只是表示它将多个数据传递给其他人,它像ACTION_SEND一样工作,除了数据是多个的。 但是我仍然无法弄清楚这个命令的正确用法。 我试图用ACTION_SEND_MULTIPLE声明intent,然后putExtra(EXTRA_STREAM, uri)调用putExtra(EXTRA_STREAM, uri)来附加多个图像,但是我得到了和以前一样的错误结果,没有附件出现在电子邮件中。 有没有人尝试过ACTION_SEND_MULTIPLE并得到它与多个电子邮件附件的工作?
当我使用Toast在屏幕上显示一些popup文本时,它将在屏幕底部上方显示文本,这是默认位置。 现在我想根据我的select将其显示在屏幕中间或某个地方。 任何人都可以指导我如何实现这一目标?
我知道这已被问了许多不同的方式,但我似乎仍然不能从默认文件夹中删除图库图像。 我正确地将文件保存到SD卡上,我可以删除该文件,但文件夹Camera下显示的默认图库文件不会被删除。 由于文件已存储在/Coupon2下的SD卡上,所以一旦活动返回,我希望图像被删除。 有什么build议么? public void startCamera() { Log.d("ANDRO_CAMERA", "Starting camera on the phone…"); mManufacturerText = (EditText) findViewById(R.id.manufacturer); String ManufacturerText = mManufacturerText.getText().toString(); String currentDateTimeString = new Date().toString(); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File filedir = new File(Environment.getExternalStorageDirectory()+"/Coupon2"); filedir.mkdirs(); File file = new File(Environment.getExternalStorageDirectory()+"/Coupon2", ManufacturerText+"-test.png"); outputFileUri = Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(intent, CAMERA_PIC_REQUEST); } protected void onActivityResult(int […]
在我的Android应用程序中,我有两个活动类。 我有第一个button,我想显示第二个点击时,但我得到一个错误。 这里是类: public class FirstActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button orderButton = (Button)findViewById(R.id.order); orderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(FirstActivity.this, OrderScreen.class); startActivity(intent); } }); } } 点击button时应该显示的第二个类,但从来没有: public class OrderScreen extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); […]
我正在使用AlertDialog显示一个input框。 当我调用AlertDialog.show() ,对话框中的EditText自动聚焦,但软键盘不会自动显示。 如何在显示对话框时自动显示软键盘? (并且没有物理/硬件键盘)。 类似于当我按searchbutton来调用全局search时,软键盘会自动显示。
我试图与新的RecyclerView ,但我找不到一个RecyclerView与不同types的行/ cardviews得到膨胀的一个例子。 使用ListView我会重写getViewTypeCount和getItemViewType ,以处理不同types的行。 我应该像“老”的方式做,或者我应该用LayoutManager做些什么? 我想知道是否有人能指点我正确的方向。 因为我只能find一种types的例子。 我想要列出一些略有不同的卡片。 或者我应该只使用一个scrollView与cardViews里面…让它没有适配器和recyclerView ?
我正在使用“预览”来显示相机在屏幕上显示的内容。 我可以让一切工作正常,表面创build,表面设置和表面显示。 但是,纵向模式下,它总是以不正确的90度angular显示图像。 如图中所示: 我知道使用下面的代码将直接设置图片: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 不过,我在“活动”中预览了其中包含其他元素的“预览”,而且我的“活动”无法在横向模式下显示。 (默认禁用) 所以我想知道有没有改变预览的方向? 并在肖像模式下正确显示我的活动的其余部分? 或者无论如何旋转预览,使其正确显示?
我正在开发一个应用程序,它基本上在应用程序本身开始时下载了大量数据,并将其显示在ListActivity中。 我打算做的是显示一个闪屏直到数据加载。 直到现在我所有的尝试都是徒劳的。 我试过anddev.org提到的方法,但我的问题是主要的活动应该开始,但飞溅屏幕应该是可见的,直到我填充我的ListActivity。 所以总之我要经过以下步骤: 开始我的主要活动。 显示启animation面。 继续在后台运行进程。 处理完成后退出Splashscreen并显示主列表。 希望你明白它是什么样的….
我的应用程序安装了其他应用程序,并且需要跟踪它安装的应用程序。 当然,这可以通过简单地保存已安装应用程序的列表来实现。 但是这不应该是必要的! PackageManager负责维护installedBy(a,b)关系。 实际上,根据API,它是: public abstract String getInstallerPackageName (String packageName) – 检索安装包的应用程序的包名称。 这标识了包装来自哪个市场。 目前的做法 使用意图安装APK Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); startActivity(intent); 使用Intent卸载APK: Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package", getPackageManager().getPackageArchiveInfo(apkUri.getPath(), 0).packageName,null)); startActivity(intent); 这显然不是Android Market安装/卸载软件包的方式。 他们使用更丰富的PackageManager版本。 这可以通过从Android Git存储库下载Android源代码来看到。 以下是对应于Intent方法的两个隐藏方法。 不幸的是,它们不适用于外部开发者。 但也许他们会在未来? 更好的方法 使用PackageManager安装APK /** * @hide * * Install a package. Since this may […]