Tag: android

简化在Kotlin中添加和替换碎片

我正在做一个小应用程序,只有几个屏幕,我想要作为一个单一的活动调用几个片段。 我有一些Android的Java的经验,但使用Kotlin是一个新的领域。 我已经理解了如何基本上在Kotlin中添加片段,但我想以可重用的方式来完成。 我遇到了这里提到的解决方案,它的工作,但有一些我不明白。 我的下面MainActivity到目前为止,但我必须在onCreate方法中创建var welcomeFragment,就像我在这里: class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) val toggle = ActionBarDrawerToggle( this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) drawer_layout.addDrawerListener(toggle) toggle.syncState() nav_view.setNavigationItemSelectedListener(this) var welcomeFragment = Fragment.instantiate(this@MainActivity, WelcomeFragment::class.java!!.getName()) addFragment( welcomeFragment, welcome) } inline fun android.support.v4.app.FragmentManager.inTransaction(func: android.support.v4.app.FragmentTransaction.() -> android.support.v4.app.FragmentTransaction) { beginTransaction().func().commit() } fun AppCompatActivity.addFragment(fragment: Fragment, frameId: Int){ […]

Kotlin:找不到符号类的片段或其他Android类

我有一个java片段与viewPager在它.. public class FragmentWithViewPager extends Fragment { private class ViewPagerAdapter extends FragmentStatePagerAdapter { ViewPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { Fragment fragment = new DeshFalView(); //<– Problem here Bundle args = new Bundle(); args.putInt("index", i); fragment.setArguments(args); return fragment; } } } 现在我有另一个片段,将被填充在上面的片段,并写在kotlin像这样: class DeshFalView : Fragment(), DeshfalContract.View { //More code… } […]

Kotlin泛型继承 – 类型不匹配

我正在尝试为领域对象构建一组提供程序。 这是我试图构建的一个示例结构: 接口: interface IDataProvider<out T : RealmObject> { fun getRealmObject(): T } 具有类型化提供者实例化的伴随功能的基本提供者类: open abstract class BaseProvider<out T : RealmObject> constructor(protected val context: Context?) : IDataProvider<T> { companion object { fun <T : RealmObject, E : BaseProvider<T>> create(context: Context?): E { if (something) { return SomeChildProviderProvider(context) } else { throw TypeNotSupportedException() } } } […]

使用Kotlin添加自定义的Twitter REST API查询

我是Kotlin的新手。 我正在构建一个像Twitter的应用程序。 我想创建自定义类扩展TwitterApiClient – 使用更多的端点。 Twitter的教程在这里教程 这是我的代码: class TwitterApiList(session: TwitterSession) : TwitterApiClient(session) { fun getHomeTimeline(): TwitterCustom { return getService(TwitterCustom::class.java) } } // TwitterCustom interface public interface TwitterCustom { @GET("/1.1/statuses/home_timeline.json") fun home_timeline(@Query("count") count: Int?, @Query("since_id") since_id: Int?, @Query("max_id") max_id: Int?, cb: Callback<List<Tweet>>) } // And how I use it val apiClient = TwitterApiList(TwitterCore.getInstance().sessionManager.activeSession) apiClient.getHomeTimeline().home_timeline(null, null, null, […]

RxJava(Kotlin),Observable.amb和PublishSubject没有开火

我们试图观察15s的时间间隔,或者在我们的主题refreshEventsSubject上触发refreshEventsSubject ,但是没有成功。 主题是这样启动的 private val refreshEventsSubject = PublishSubject<Long>() 然后我们尝试像这样观察它 Observable.merge(Observable.interval(0, 15, TimeUnit.SECONDS), refreshEventsSubject) .subscribe { … } 我们每隔15s就会收到一次这个事件,但是跑步之后这个话题还没有开始 refreshEventsSubject.onNext(0) 任何想法赞赏。 (一切都是用Kotlin写的)

无法从innerclass访问变量:Kotlin android

我是Android的Kotlin开发新手。 在这里我试图从它的内部类访问一个类中定义的变量,如下所示。 class MainActivity : AppCompatActivity() { var frags: MutableList<Fragment> = mutableListOf() //………….onCreate and other methods …. internal class CustAdapter(var arrayList: ArrayList<NavigationData>) : RecyclerView.Adapter<CustAdapter.MyViewHolder>() { override fun onBindViewHolder(holder: MyViewHolder?, position: Int) { holder!!.bindItems(arrayList[position]) } override fun getItemCount(): Int { return arrayList.size } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustAdapter.MyViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.navigation_item, parent, […]

在引用内部类的Activity时Kotlin错误

我有一个AsyncTask作为我在Kotlin写的Activity中的一个内部类。 现在,我试图从我的AsyncTask的onPostExecute使用this@MyActivity访问Activity,但Android Studio报告它为Unresolved Reference错误。 但是这是在线建议的从InnerClass引用OuterClass最常用的方法。 代码如下: class MyActivity : AbstractAppPauseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onResume() { super.onResume() } class MyTask(private var mContext: Context?, val pbMigrating: ProgressBar) :AsyncTask<Void, Int, Void>() { private var size: Long = 0 override fun onPreExecute() { super.onPreExecute() … } override fun doInBackground(vararg params: Void?): Void? […]

如何从kotlin中的InnerClass扩展

基本上我想要的是这样的kotlin: public class BindingViewHolder<T extends ViewDataBinding> extends RecyclerView.ViewHolder {} //it should be: public class BindingViewHolder<T: ViewDataBinding> : RecyclerView.ViewHolder() {} 我正在使用扩展java类,所以我不知道这是否可能,Android Studio告诉我,该类型是预期的,但既不写入类型内部<>或内部()它的作品。

Kotlin针对Android视图的综合属性差异?

Kotlin的Android扩展文档说,你基本上可以使用import语句做一个findViewById()的快捷方式。 然而,导入一个特定的视图kotlinx.android.synthetic.main.<layout-file-name>.<view-id>和从kotlinx.android.synthetic.main.<layout-file-name>.view.<view-id>导入kotlinx.android.synthetic.main.<layout-file-name>.view.<view-id> ? 如果你使用前者,IDE会显示三个相同的视图ID,Activity,Dialog和Fragment各一个。 如果你做了后者,它只显示一次的视图ID名称。

Kotlin文档不支持“<p>”这样的标签

我正在写文档评论来描述一种方法。 /** * <p>necessary * <p>setType is to set the PendingIntend's request code</p> */ 但它不会显示段落。 如果我不使用<p> ,所有的文档都没有任何中断。 它在Java类中工作,但是当涉及到Kotlin时,我不知道如何处理它。