小编use*_*005的帖子

在操作栏选项卡中滑动选项卡

我试图像flipboard一样在actionBar标签内实现滑动标签.因此,其中一个主要标签将有三个标签.子标签将首先滚动,一旦所有标签滚动,主标签就会聚焦并开始滚动.

我附上了flipBoard UI的截图FlipBoard标签

有没有人这样做过?请帮忙.

android flipboard android-viewpager android-actionbar-tabs

15
推荐指数
1
解决办法
1250
查看次数

RecyclerView在聊天屏幕中的notifyDataSetChanged上滚动到顶部

我正在尝试使用recyclelerView创建消息类型的屏幕,它将从底部开始,并在用户到达聊天的最高端时加载更多数据.但我正面临着这个奇怪的问题.

我的recyclerView在调用notifyDataSetChanged时滚动到顶部.由于这个onLoadMore被多次调用.

这是我的代码:

LinearLayoutManager llm = new LinearLayoutManager(context);
llm.setOrientation(LinearLayoutManager.VERTICAL);
llm.setStackFromEnd(true);
recyclerView.setLayoutManager(llm);
Run Code Online (Sandbox Code Playgroud)

**在适配器中

 @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    if (messages.size() > 8 && position == 0 && null != mLoadMoreCallbacks) {
        mLoadMoreCallbacks.onLoadMore();
    }
Run Code Online (Sandbox Code Playgroud)

**在活动中

@Override
public void onLoadMore() {
    // Get data from database and add into arrayList
      chatMessagesAdapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)

这只是recyclerView滚动到顶部.如果滚动到顶部停止,则此问题将得到解决.请帮我弄清楚这个问题的原因.提前致谢.

android notifydatasetchanged recycler-adapter android-recyclerview linearlayoutmanager

14
推荐指数
2
解决办法
8027
查看次数

如何查找活动是否是堆栈中的最后一个活动

我在我的应用程序中打开一个链接,一旦按下后我想显示HomePage以保留用户更多时间.我一直在努力实现这一目标但却无法做到这一点.我将homeLauncher活动作为我的top和baseActivity.

DeepLink Tap>打开所需的活动>用户按下后退按钮>检查其上一个活动但不是homeActivity>如果是,请将用户导航到homeActivity.

尝试以下代码:

@Override
public void onBackPressed() {
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);

if(taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName().equals(this.getClass().getName())){
  //// This is last activity
}
else{
    //// There are more activities in stack
}

super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

Android Studio Evalation

我也试过isTaskRoot但结果是一样的.它没有给出正确的答案.请帮助

android android-intent android-activity back-stack activity-manager

13
推荐指数
2
解决办法
4540
查看次数

Kotlin:将两个不同的列表合并为一个,并从两个列表中选择数据

我想合并两个不同类型的列表并创建另一个包含来自两个列表的数据的列表。此外,合并应该只在标识符匹配时发生(如两个列表中的 id 匹配)

Employee(val employeeId: Int,
         val employeeName: String,
         val address: String)

LaptopInfo(val laptopId: Int,
         val employeeId: String,
         val team: String)

EmployeeLaptopInfo(val laptopId: Int,
         val employeeId: String,
         val employeeName: String,
         val address: String)
Run Code Online (Sandbox Code Playgroud)

所以有Employeeand 的列表,LaptopInfo我想添加 EmployeeLaptopInfo 到List<EmployeeLaptopInfo>只有当两个列表中的 employeeId 匹配时

val employeeLaptopInfoList = mutableListOf<EmployeeLaptopInfo>()
val employeeIds = employeeList.map { it.employeeId }.toSet()

lapTopInfoList.filter { employeeIds.contains(it.employeeId) }
   .map {
      val employeeLaptopInfo = EmployeeLaptopInfo(it.laptopId, laptopId.employeeId, "can't get info", "can't get info")
      employeeLaptopInfoList.add(employeeLaptopInfo)
   }
Run Code Online (Sandbox Code Playgroud)

但是这样我就不会从两个列表中获得详细信息。有没有办法在不使用 for 循环的情况下以有效的方式做到这一点。

merge android arraylist kotlin

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

Android/Java:检查url是否有效youtube url

我想检查一个url是否有效youtube url,以便我可以在视图中显示,否则我将隐藏视图.

Java中是否有正则表达式可以帮助我检查url是否有效.目前我正在使用这个正则表达式,但我想这不是我想要的那个:

String youTubeURl = "https://www.youtube.com/watch?v=Btr8uOU0BkI";
String pattern = "https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube\\.com\\S*[^\\w\\-\\s])([\\w\\-]{11})(?=[^\\w\\-]|$)(?![?=&+%\\w]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w]*";
 if (!youTubeURl.isEmpty() && youTubeURl.matches(pattern)) {
              /// Valid youtube URL
  }
 else{
   // Not Valid youtube URL
}
Run Code Online (Sandbox Code Playgroud)

java regex youtube android

5
推荐指数
2
解决办法
5331
查看次数

在Android Studio中的不同开发人员计算机之间共享android调试证书

当同一部手机连接到不同的MacBooks时,由于要重新安装Android调试版本,所有开发机器(MacBooks)是否可以共享同一调试证书?这将有助于避免在开发设备上重新安装。

android android-studio android-gradle-plugin android-app-signing

5
推荐指数
2
解决办法
437
查看次数

在后台线程上独立运行Completable

我想创建一个completable并在后台线程中运行它,但它不是打电话Actionrun()时候,我就订阅Schedulers.io()

基本上我想通过RxAndroid执行以下操作:

     Thread t = new Thread(new Runnable() {
        public void run() {
            doSomething();
        }
    });
    t.start(); 
Run Code Online (Sandbox Code Playgroud)

使用RxAndroid,我正在执行以下操作:

   Completable.fromAction(new Action() {
        @Override
        public void run() throws Exception {
            doSomething();
        }
    }).subscribeOn(Schedulers.io());
Run Code Online (Sandbox Code Playgroud)

它的run()方法是没有得到所谓的如果我这样做Schedulers.io(),但如果我这样做会被调用subscribe()

订阅时,我找不到它为什么运行Schedulers.io()

multithreading android rx-java rx-android android-thread

3
推荐指数
1
解决办法
1261
查看次数

如何使用 Moshi 解析 Kotlin 中的多态对象

当前存在 PolymorphicJsonAdapterFactory 和 Kotlins 密封类的问题。我有一个返回多态主组件的 API,我试图在 Kotlin 中使用 Moshi 解析和创建多态对象,但出现以下错误:

  Caused by: java.lang.IllegalArgumentException: Cannot serialize abstract class home.HomeComponent
for class home.HomeComponent
for java.util.List<home.HomeComponent> components
for class home.HomeContent
Run Code Online (Sandbox Code Playgroud)

代码:

sealed class HomeComponent(@Json(name = "_type") val type: HomeContentType) {

data class BannerComponent(@field:Json(name = "_id")
                               val id: String,
                               val image: String) : HomeComponent(HomeContentType.banner)

data class SpecialProductsComponent(@field:Json(name = "_id")
                                        val id: String,
                                        val style: List<Product>) : HomeComponent(HomeContentType.specialProducts)

data class CarouselBannerComponent(@field:Json(name = "_id")
                                       val id: String,
                                       val style: String,
                                       val images: List<String>) : HomeComponent(HomeContentType.carousel)
} …
Run Code Online (Sandbox Code Playgroud)

json kotlin moshi jsonparser

3
推荐指数
1
解决办法
2242
查看次数

如何使用 Moshi 将地图转换为 json

我正在尝试使用 moshi 将 Map 转换为 json 但我找不到任何帮助。

 val attentionNumbepAdapter: JsonAdapter<Map<String, Employee>> = moshi
                .adapter(Types.newParameterizedType(Map::class.java, String::class.java, Employee::class.java))
Run Code Online (Sandbox Code Playgroud)

但它给出了IllegalArgumentException. 知道如何正确解决这个问题吗?

java json hashmap moshi

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

iPhone UITextField inputView错误:对readonly属性的Assignement

当我想将UIPicker分配为UITextField的inputView时,我遇到了问题.它显示错误" Assinnement to readonly property ".请帮助,因为我认为它与财产合成无关.

我在下面添加了我的代码:

@interface DriverWaitingDetails : UIViewController<UITextFieldDelegate,UIPickerViewDataSource, UIPickerViewDelegate>
{

IBOutlet UILabel *baseLabel;
IBOutlet UITableView *driverTableView;
IBOutlet UIPickerView *basePicker;
}

 @property(nonatomic, retain) IBOutlet UIPickerView *basePicker;
 @property(nonatomic,retain)IBOutlet UILabel *baseLabel;
 @property(nonatomic,retain)IBOutlet UITableView *driverTableView;


@end
Run Code Online (Sandbox Code Playgroud)

执行代码: -

-(void)viewDidLoad
{

basePicker=[[UIPickerView alloc] initWithFrame:CGRectMake(0,100,320, 500)];
self.navigationItem.title=@"Driver Table";
baseLabel.userInteractionEnabled = YES;
basePicker.delegate = self;
basePicker.dataSource = self;
[basePicker setShowsSelectionIndicator:YES];
baseLabel.inputView=nil;
[super viewDidLoad];    
}
Run Code Online (Sandbox Code Playgroud)

附上截图: - UITextField错误图像

iphone uipickerview uitextfield ios

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

Android NavigationDrawer和ViewPager作为其片段之一

我创建了一个SherlockFragmentActivity,它有三个ViewPager片段.但是现在我想在NavigationDrawer中使用这个Activity但是我很困惑如何做到这一点.Google+应用有这种实现,但我想知道如何实现这一目标.

NavigationDrawer将具有以下UI元素:

  1. FragmentActivity(包含三个片段作为ViewPager)
  2. 第二片段
  3. 第三片段

使用导航抽屉是否可以进行这种布局如果是,我应该怎么做.如果没有,我应该怎么做才能在我的应用程序中实现这种导航.

android android-fragments android-viewpager navigation-drawer

0
推荐指数
1
解决办法
5243
查看次数