Questions tagged «android»

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

10
BottomNavigationView始终显示图标和文本标签
我正在使用设计支持库版本25中的android.support.design.widget.BottomNavigationView compile 'com.android.support:design:25.0.0' <android.support.design.widget.BottomNavigationView android:id="@+id/bottomBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_gravity="center" app:itemBackground="@color/colorPrimary" app:menu="@menu/bottom_navigation_main" android:forceHasOverlappingRendering="true"/> 当@ menu / bottom_navigation_main中只有三个操作时,它将始终显示图标和文本标签。 当动作多于三个时,始终显示图标和文本标签的方式是什么?

11
RecyclerView-如何在特定位置上平滑滚动到项目顶部?
在RecyclerView上,我可以使用以下方法突然滚动到所选项目的顶部: ((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, 0); 但是,这突然将项目移动到顶部位置。我想顺利地移到项目的顶部。 我也尝试过: recyclerView.smoothScrollToPosition(position); 但是它不能很好地工作,因为它不能将项目移动到所选的顶部位置。它仅滚动列表,直到该位置上的项目可见为止。


11
notifyDataSetChange从自定义适配器不起作用
当我重新填充我的时ListView,我从我的容器中调用一个具体的方法Adapter。 问题: 当我updateReceiptsList从拨打电话时Adapter,数据会刷新,但我ListView无法反映更改。 问题: 为什么ListView我打电话时不显示新数据notifyDataSetChanged? 适配器: public class ReceiptListAdapter extends BaseAdapter { public List<Receipt> receiptlist; private Context context; private LayoutInflater inflater; private DateHelpers dateH; public ReceiptListAdapter(Activity activity, Context mcontext, List<Receipt> rl) { context = mcontext; receiptlist = rl; Collections.reverse(receiptlist); inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); dateH = new DateHelpers(); } @Override public int …

8
如何使用数据绑定将资源中的字符串与XML中的动态变量组合在一起?
我有一个TextView,它具有一个硬编码的字符串,并且有一个动态变量,我想将其放在该字符串的末尾。这是我的代码: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="16dp" android:layout_marginRight="16dp"> <TextView android:id="@+id/PeopleName" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/Generic_Text"+"@{ Profile.name }" /> </LinearLayout> 我有一个问题 android:text="@string/Generic_Text"+"@{ Profile.name }"。该Generic_Text州“我的名字是”,则Profile.name是动态的,显然从个人资料的更改配置文件。我想要它,以便整个TextView输出为My Name为{Profile.name}。任何帮助都会很棒。

25
Android Studio Gradle:错误:任务':app:processDebugGoogleServices'的执行失败。>找不到匹配的客户端程序包
我正在尝试按照Google在此处提供的示例将Google Play服务依赖项升级到8.4.0 ,但出现以下错误(“ com.example.exampleapp”替代了我的应用包名称): Error:Execution failed for task ':app:processDebugGoogleServices'. > No matching client found for package name 'com.example.exampleapp' 项目build.gradle: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha3' classpath 'com.google.gms:google-services:2.0.0-alpha3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } …

10
Recyclerview和处理不同类型的行充气
我正在尝试使用new RecyclerView,但是找不到RecyclerView带有不同类型的行/ cardview膨胀的示例。 使用ListViewI可以覆盖getViewTypeCount和getItemViewType,用于处理不同类型的行。 我是否应该像“旧”方式那样做LayoutManager?还是应该做些什么?我想知道是否有人可以指出我正确的方向。因为我只能找到一种类型的示例。 我想列出一张略有不同的卡片。还是我应该在其中使用scrollViewwith cardViews...使其不带有适配器和recyclerView?

8
Java / Android-如何打印完整的堆栈跟踪?
在Android(Java)中,如何打印完整的堆栈跟踪记录?如果我的应用程序因nullPointerException或其他原因而崩溃,它将打印出(几乎)完整的堆栈跟踪,如下所示: java.io.IOException: Attempted read from closed stream. com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream. at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545) at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488) at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417) at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313) at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243) at com.google.android.common.LoggingThreadedSyncAdapter.onPerformSync(LoggingThreadedSyncAdapter.java:33) at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:164) Caused by: java.io.IOException: Attempted read from closed stream. at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:148) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159) at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:212) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64) at android.net.http.AndroidHttpClient.getUngzippedContent(AndroidHttpClient.java:218) at com.android.music.sync.api.MusicApiClientImpl.createAndExecuteMethod(MusicApiClientImpl.java:312) …

5
如何在Android工具栏上使用SearchView
我正在使用的代码正在使用a Toolbar并对a 进行膨胀menu。 这是代码 private Toolbar mToolbar; mToolbar.inflateMenu(R.menu.chat_screen_menu); setupMenu (); private void setupMenu () { mMenu = mToolbar.getMenu(); if (mMenu != null) { if (mChatPager != null && mChatPager.getCurrentItem() > 0) { mMenu.setGroupVisible(R.id.menu_group_chats, true); mMenu.setGroupVisible(R.id.menu_group_contacts, false); } else { mMenu.setGroupVisible(R.id.menu_group_chats, false); mMenu.setGroupVisible(R.id.menu_group_contacts, true); mMenu.setGroupVisible(R.id.menu_group_otr_verified,false); mMenu.setGroupVisible(R.id.menu_group_otr_unverified,false); mMenu.setGroupVisible(R.id.menu_group_otr_off,false); } } mToolbar.setOnMenuItemClickListener(new OnMenuItemClickListener …

5
Gridview的高度被削减
我正在尝试在gridview中显示8个项目。可悲的是,gridview的高度总是太小,因此它仅显示第一行,而第二行的一小部分。 设置android:layout_height="300dp"使它起作用。wrap_ content,fill_parent显然不是。 我的网格视图: <GridView android:id="@+id/myId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:horizontalSpacing="2dp" android:isScrollContainer="false" android:numColumns="4" android:stretchMode="columnWidth" android:verticalSpacing="20dp" /> 我的物品资源: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:minHeight="?android:attr/listPreferredItemHeight" > <ImageView android:id="@+id/appItemIcon" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@android:drawable/ic_dialog_info" android:scaleType="center" /> <TextView android:id="@+id/appItemText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="My long application name" android:gravity="center_horizontal" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> 这个问题似乎与缺乏垂直空间无关。 我能做什么 ?
124 android  gridview 

16
在画布上绘制多行文字
一个希望快速的问题,但我似乎无法找到任何的例子...我想多行文本写一个自定义的View通过Canvas,并在onDraw()我有: ... String text = "This is\nmulti-line\ntext"; canvas.drawText(text, 100, 100, mTextPaint); ... 我希望这会导致换行,但我看到的是隐秘字符\n。 任何指针表示赞赏。 保罗

14
在Gradle中使用构建类型运行在同一设备上使用ContentProvider的同一应用
我已经设置Gradle来将包名称后缀添加到我的调试应用程序中,这样我就可以拥有正在使用的发行版本和一部手机上的调试版本。我指的是这个:http : //tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types 我的build.gradle文件如下所示: ... android { ... buildTypes { debug { packageNameSuffix ".debug" versionNameSuffix " debug" } } } 一切正常,直到我开始在应用程序中使用ContentProvider。我得到: Failure [INSTALL_FAILED_CONFLICTING_PROVIDER] 我知道发生这种情况是因为两个应用程序(发行版和调试版)正在注册相同的ContentProvider权限。 我认为可以解决这个问题。如果我理解正确,则应该能够指定在构建时要使用的其他文件。然后,我应该能够将不同的权限放入不同的资源文件中(并从Manifest中将权限设置为字符串资源),并告诉Gradle使用不同的资源进行调试构建。那可能吗?如果是的话,那么关于如何实现这一点的任何提示都将很棒! 还是可以使用Gradle直接修改Manifest?始终欢迎任何其他有关如何在一个设备上与ContentProvider运行同一应用程序的解决方案。

11
Android-为服务实现startForeground?
因此,我不确定在哪里/如何实现此方法以使我的服务在前台运行。目前,我在另一个活动中通过以下步骤启动服务: Intent i = new Intent(context, myService.class); context.startService(i); 然后在myServices的onCreate()中尝试startForeground()...? Notification notification = new Notification(); startForeground(1, notification); 是的,我有点迷茫,不确定如何执行此操作。

1
Kotlin中的“宁愿在该类上运行匕首处理器”
每当我对kotlin类进行注入时,我都会在构建中得到此注释(顺便说一句,我有一个既包含kotlin又包含Java的混合android项目)。 例如,执行以下gradle任务:(compileStagingDebugJavaWithJavacStagingDebug是我的构建变体),我收到以下消息: “注意:为com.packageNameXXX.CourseDiscoveryMapFragment生成MemberInjector或Factory。最好在该类上运行匕首处理器。” 我的CourseDiscoveryMapFragment代码可以在这里看到: class CourseDiscoveryMapFragment : Fragment(){ @Inject lateinit var presenter: CourseDiscoveryMapPresenter lateinit var mapView: MapView override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_discovery_map, container, false) MapsInitializer.initialize(activity) mapView = view.mapView mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE)) (activity as BaseActivity) .activityComponent.inject(this) } 我的ActivityComponent是: @ActivityScope @Subcomponent(modules = ActivityModule.class) public interface …
124 android  kotlin  dagger 

4
如何在没有Android手机中烦人的对话框的情况下使用语音识别
是否可以不修改android API?我找到了有关此的文章。有一条评论我应该对android API进行修改。但是它没有说怎么做修改。有人可以给我一些建议吗?谢谢! 我找到了这篇文章; SpeechRecognizer 他的需求与我的需求几乎相同。对我来说是一个很好的参考! 我完全解决了这个问题。 我从这个中国网站上搜索了可用的示例代码,这 是我的源代码 package voice.recognition.test; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.speech.RecognitionListener; import android.speech.RecognizerIntent; import android.speech.SpeechRecognizer; import android.widget.Button; import android.widget.TextView; import java.util.ArrayList; import android.util.Log; public class voiceRecognitionTest extends Activity implements OnClickListener { private TextView mText; private SpeechRecognizer sr; private …

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.