小编ear*_*jim的帖子

TabLayout标签文本未显示

我在TabLayout内部使用Fragment显示三个固定标签并且标签正在工作,但即使我app:tabTextColor在布局中设置属性后它仍然不可见,它也不会显示标签文本.

NewFragment.java

public class NewFragment extends Fragment {

private RecyclerView mRecyclerView;
private RecyclerView.LayoutManager mLayoutManager;
private RecyclerView.Adapter mAdapter;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View inflatedView = inflater.inflate(R.layout.new_fragment, container, false);

    TabLayout tabLayout = (TabLayout) inflatedView.findViewById(R.id.tabLayout);
    tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
    tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
    tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
    final ViewPager viewPager = (ViewPager) inflatedView.findViewById(R.id.viewpager);

    LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
    mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);

    viewPager.setAdapter(new PagerAdapter(getFragmentManager(), tabLayout.getTabCount()));
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.setTabMode(TabLayout.MODE_FIXED);
    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {

        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());
        } …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-tablayout

60
推荐指数
2
解决办法
3万
查看次数

如何从SearchView中删除焦点?

我想从删除焦点和文本SearchViewonResume().

我试过searchView.clearFocus()但它不起作用.

这是我的xml代码:

<SearchView
    android:id="@+id/searchView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/toolbar"
    android:layout_alignTop="@+id/toolbar"
    android:layout_centerVertical="true"
    android:layout_marginBottom="4dp"
    android:layout_marginTop="4dp"
    android:iconifiedByDefault="false"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" />
Run Code Online (Sandbox Code Playgroud)

android focus searchview

26
推荐指数
4
解决办法
2万
查看次数

无法在Android数据绑定中引用其他View ID

我刚刚观看了高级数据绑定 - Google I/O 2016,并希望应用以下内容来减少在不同视图中使用的表达式的重复.

在此输入图像描述

但我不能让它在我的情况下工作:

<ImageButton
                android:id="@+id/btn_list"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:layout_gravity="start"
                android:background="@drawable/btn_s01_list"
                android:visibility="@{bean.shouldHideControls? View.GONE: View.VISIBLE}"/>

            <ToggleButton
                android:id="@+id/btn_radar"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:background="@drawable/btn_radar_selector"
                android:checked="false"
                android:gravity="end"
                android:text=""
                android:textOff=""
                android:textOn=""
                android:visibility="@{btn_list.visibility}"/>
Run Code Online (Sandbox Code Playgroud)

我得到了

错误:(426,39)标识符必须具有XML文件中的用户定义类型.btn_list缺少它

编辑:

我在同一个谈话中错过了一个重要的观点...视图ID是骆驼式的.

在此输入图像描述

android android-databinding

22
推荐指数
1
解决办法
5037
查看次数

如何更改Android中状态栏的颜色?

我想在Android Studio中更改突出显示栏的颜色:

在此输入图像描述

我该怎么做?

android

20
推荐指数
5
解决办法
6万
查看次数

检测BaseAdapter.notifyDataSetChanged()何时完成

我想知道什么时候BaseAdapter.notifyDataSetChanged()完成,然后做声音.我的代码:

BaseAdapter.notifyDataSetChanged();  
mScroller.startScroll(oldX, 0, dx, 0);
Run Code Online (Sandbox Code Playgroud)

mScrollernotifyDataSetChanged()完成之前滚动 .我想在完成后mScroller滚动到.oldXnotifyDataSetChanged()

请帮帮我,谢谢.

android baseadapter

19
推荐指数
2
解决办法
7137
查看次数

如何将Context传递给AsyncTask?

如何Async Task在不同的java文件中编写的类中传递上下文Main Activity但是从主活动调用?

以下是我的代码:

 @Override

protected void onPostExecute(List<Movie_ModelClass> result) {
        super.onPostExecute(result);

        if (result != null) {
            Movie_Adapter movieAdapter = new Movie_Adapter(new MainActivity().getApplicationContext() , R.layout.custom_row, result);
            MainActivity ovj_main = new MainActivity();
            ovj_main.lv_main.setAdapter(movieAdapter);
        } else {
            Toast.makeText(new MainActivity().getApplicationContext() ,"No Data Found", Toast.LENGTH_LONG);

        }
        if (progressDialog.isShowing()) {
            progressDialog.dismiss();
    }
Run Code Online (Sandbox Code Playgroud)

java android

18
推荐指数
2
解决办法
1万
查看次数

调用需要API级别24(当前最小值为12):android.icu.util.calendar

我正在制作一个简单的报警应用.无论我在哪里使用Calendar类,它都会显示与标题相同的错误.

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 30);
Run Code Online (Sandbox Code Playgroud)

每当我构建我的项目时,它建立良好但应用程序崩溃时,它是在手机上启动.下面是Logcat:

07-22 18:24:15.607 18047-18047/com.example.panwa.afinal D/AndroidRuntime: Shutting down VM
07-22 18:24:15.607 18047-18047/com.example.panwa.afinal W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40d952d0)
07-22 18:24:15.627 18047-18047/com.example.panwa.afinal E/AndroidRuntime: ***FATAL EXCEPTION: main
  java.lang.NoClassDefFoundError: android.icu.util.Calendar***
      at com.example.panwa.afinal.MainActivity.startAt10(MainActivity.java:70)
      at com.example.panwa.afinal.MainActivity$3.onClick(MainActivity.java:46)
      at android.view.View.performClick(View.java:4275)
      at android.view.View$PerformClick.run(View.java:17434)
      at android.os.Handler.handleCallback(Handler.java:615)
      at android.os.Handler.dispatchMessage(Handler.java:92)
      at android.os.Looper.loop(Looper.java:177)
      at android.app.ActivityThread.main(ActivityThread.java:4947)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:511)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
      at dalvik.system.NativeStart.main(Native Method)
07-22 18:25:33.824 18047-18047/com.example.panwa.afinal I/Process: Sending signal. PID: 18047 SIG: 9
Run Code Online (Sandbox Code Playgroud)

我有一个我的min SDK设置为11但仍然无法正常工作.

android android-calendar

18
推荐指数
1
解决办法
2万
查看次数

如何在Android应用关闭/设置为后台时执行后台任务?

我的Android 4+应用程序连接到自定义Web服务,该服务用于每隔几分钟同步一次数据.为了确保在线数据始终是最新的,我想在应用程序关闭/发送到后台时触发同步.

在iOS下这很容易:

  • applicationDidEnterBackground:在AppDelegate中收听
  • 使用beginBackgroundTaskWithName:开始您长时间运行的后台任务,并避免在任务仍在运行被暂停

如何在Android上执行此操作?

第一个问题是,没有任何东西相当于applicationDidEnterBackground:.到目前为止我发现的所有解决方案都建议使用主要的Activities onPause()方法.但是,这会在主要Activity暂停时调用,这也是Activity在应用程序中启动另一个时的情况.接口的onActivityPaused()方法是正确的ActivityLifecycleCallbacks.

那么,如何检测应用程序(不只是一个Activity)是关闭还是发送到后台?

第二个问题是,我没有找到任何关于如何运行后台任务的信息.所有解决方案都指向简单的启动AsyncTask,但这真的是正确的解决方案吗?

AsyncTask将启动一项新任务,但当应用程序关闭/不活动时,此任务是否也会运行?我需要做什么,以防止应用程序和任务在几秒钟后被暂停?在应用程序完全暂停之前,如何确保任务可以完成?

android background-process android-lifecycle android-asynctask

18
推荐指数
2
解决办法
2万
查看次数

领域从错误的线程访问

我有一个应用程序LoginActivity,当用户正确登录时,我注册接收消息.而且LoginActivity跳到了MainActivity.到达的消息应该存储在数据库(Realm)中,以便从Main中的Realm实例中恢复.

但是当消息到达时崩溃领域启动此错误:

Exception in packet listener
    java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created.
    at io.realm.BaseRealm.checkIfValid(BaseRealm.java:383)
    at io.realm.Realm.executeTransactionAsync(Realm.java:1324)
    at io.realm.Realm.executeTransactionAsync(Realm.java:1276)
    at es.in2.in2tant.LoginActivity.newMessageReceived(LoginActivity.java:124)
    at es.in2.in2tant.Connection.Connection$4$1.processMessage(Connection.java:227)
    at org.jivesoftware.smack.chat.Chat.deliver(Chat.java:180)
    at org.jivesoftware.smack.chat.ChatManager.deliverMessage(ChatManager.java:351)
    at org.jivesoftware.smack.chat.ChatManager.access$300(ChatManager.java:53)
    at org.jivesoftware.smack.chat.ChatManager$2.processPacket(ChatManager.java:162)
    at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1126)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

我对Realm如何工作有点迷茫,我不知道如何在没有崩溃的情况下在整个应用程序中访问域,并保持存储从收到的消息LoginActivity.一些帮助,或实现这一目标的方法?

LoginActivity.java:

public class LoginActivity extends AppCompatActivity implements ConnectionConnectResponse {
.....
protected void onCreate(Bundle savedInstanceState) {
//Realm Init config:
        Realm.init(this);
        RealmConfiguration …
Run Code Online (Sandbox Code Playgroud)

android realm

18
推荐指数
1
解决办法
2万
查看次数

如何使用Kotlin中的多个比较字段按降序排序

Kotlin允许我使用多个比较字段对ASC和数组进行排序.

例如:

return ArrayList(originalItems)
    .sortedWith(compareBy({ it.localHits }, { it.title }))
Run Code Online (Sandbox Code Playgroud)

但是当我尝试排序DESC(compareByDescending())时,它不允许我使用多个比较字段.

有什么办法可以吗?

kotlin

17
推荐指数
3
解决办法
9152
查看次数