Tag: kotlin android extensions

未解决的参考:kotlinx

我正尝试在Android Studio中尝试Kotlin和Kotlin Android扩展。 我已经在Ubuntu 14.04上的Android Studio v 1.5.1以及OS X El Capitan上的Android Studio v 1.5.1上尝试了这一点,结果相同。 这是我在做什么: 我安装了Kotlin插件1.0.0-beta-35950-IJ141-11 创建一个新的空白Android项目 将MainActivity文件转换为Kotlin(通过help-> findaction->将文件转换为kotlin) 为Kotlin配置项目 然后我进入生成的content_main.xml文件并为“Hello World!”添加一个id(hello)。 TextView中。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.gmail.npnster.mykotlinfirstproject.MainActivity" tools:showIn="@layout/activity_main"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/hello" /> </RelativeLayout> 然后在转换的MainActivity中添加一行来设置TextView。 (如下所示)。 然后Android Studio会提示我(通过alt-enter)插入这一行(如下所示) import kotlinx.android.synthetic.main.content_main.* 所以在这一点上一切似乎都很好 但是当我尝试编译这个我得到 […]

连接检查不工作在Android奥利Kotlin

试图在网络上调用称为NetworkReceiver的广播接收机。 在java中的相同的代码工作,但在Kotlin中试图做它不工作。 当连接发生或丢失时,接收器从不被调用。 我试图在模拟器中做到这一点。 另外接收器在引导完成时不被调用。 此外我进行测试这在Android奥利奥,即Android 8.0 NetworkReceiver.kt class NetworkReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { Logs.v("onReceive") val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val networkInfo = connectivityManager.activeNetworkInfo if (networkInfo != null && networkInfo.detailedState == NetworkInfo.DetailedState.CONNECTED) { Logs.v("Network Connected") } else if (networkInfo != null) { val state = networkInfo.detailedState Logs.v("NetworkReceiver", state.name) […]

Kotlin综合扩展和几个包括相同的布局

如果我有如下的布局,如何访问使用kotlin综合扩展查看: 文件:two_days_view.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/day1" layout="@layout/day_row" android:layout_width="match_parent" android:layout_height="wrap_content" /> <include android:id="@+id/day2" layout="@layout/day_row" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> file:day_row.xml <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/dayName" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 如何访问dayName? 我寻找这样的一些: day1.dayName.text = "xxx" day2.dayName.text = "sss" 我在Studio中看到,我有权访问dayName但dayName TextView被引用到哪一个? 正常,如果我只有一个包括的布局,它工作正常。 但现在我有多次包括相同的布局。 当然我可以随时做: day1.findViewById(R.id.dayName).text = "xxx" 但我正在寻找很好的解决方案。 🙂

小部件(TextView)中的UNRESOLVED_REFERENCE已解析为android-kotlin中的错误元素

如何更新kotlin中Textview的文本。 设置文本创建功能的作品,但是当我在主要乐趣之外尝试它说未解决的参考。 我怎样才能声明小部件重用TextView更新文本值? 我没有kotlin exp。 有人可以帮我吗? class MediaPickedActivity : AppCompatActivity() { val fullName = "Test User" var score = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_media_picked) val Tv_test = findViewById(R.id.tv_text) as TextView Tv_test.setText("$fullName :: $score ") if (score in 0..300) { score = 5 setText() } } private fun setText() { // Error is […]

Dagger2将演示者注入到Kotlin Activity错误中

我使用dragger2将演示者注入到Kotlin Activity中,演示者为null,这是我的代码: class CategoryDetailActivity : MvpActivity<ProductFilterView,ProductFilterPresenter>(), ProductFilterView { private lateinit var presenter: ProductFilterPresenter @Inject set override fun onCreate(savedInstanceState: Bundle?) { initialInjector() super.onCreate(savedInstanceState) setContentView(R.layout.activity_category_detail) initData() initEvent() } private fun initialInjector() { DaggerProductFilterComponent.builder() .applicationComponent(applicationComponent) .productFilterModule(ProductFilterModule()) .build() .inject(this) } override fun getPresenter(): ProductFilterPresenter { return presenter!! } } 在MvpActivity的onCreate()中调用getPresenter()方法,而MvpActivity是一个java类。 初始的演示者需要一些由ProductFilterModule提供的实例,也许演示者应该是初始化后的组件注入,我猜。 当我运行时,抛出KotlinNullPointerException,主持人为空。 time: FATAL EXCEPTION: main Process: com.chiquedoll.chiquedoll, PID: […]

在Android应用程序中使用kotlin静态类似的方法

我想添加一个“静态”方法,我的MyApplication类在kotlin我已经添加(作为一个属性)的变量: private var context: Context? = null 在方法中: override fun onCreate() 我补充说: context = applicationContext 然后我添加一个像这样的伴侣对象 companion object { @JvmStatic fun getMyApplicationContext(): Context? { return MyApplication().context } } 当我从MyApplication.getMyApplicationContext()这样的应用程序的其他部分调用这个方法时,它总是返回null。 我已经从几个来源收集了所有这些,但我不确定它是否接近正确或不正确。

Android Studio 3.0 Kotlin的变化并没有体现在构建中

有没有人尝试过3.0的kotlin新的android工作室。 我看到一个奇怪的问题,当我运行应用程序时,Kotlin代码更改没有反映出来,但可以看到java的更改。 当我调试应用程序时,代码不会停在新的代码行。 另外我还特别看到,在运行时,Java会抱怨我在Kotlin中编写的新方法无法找到(但可以看到同时编写的java代码)我发现的唯一解决方案是重建应用程序或卸载并重新安装。 任何解决这个问题的方法。 注意:我已经立即运行关闭,并尝试增量编译kotlin构建OFF / ON

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自定义对话框指定为非null的参数

我得到这个错误: 引起:java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数savedInstanceState 当我试图在Kotlin中膨胀自定义对话框时,我得到了我在对话框中的super.onCreate行上面写的错误。 对话框代码是: class Custom_Dialog_Exit_App(var activity: Activity)// TODO Auto-generated constructor stub : Dialog(activity, R.style.full_screen_dialog) { override fun onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) requestWindowFeature(Window.FEATURE_NO_TITLE) setContentView(R.layout.custom_dialog_exit_app) activity.window!!.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) initView() } fun initView() { initClicks() } fun initClicks() { } } 和init是: val omer = Custom_Dialog_Exit_App(this@MainActivity) omer.show() 请帮忙

创建Kotlin对象的新实例

我有一个对象QuickSort ,我试图创建2个实例。 当我尝试创建2个单独的实例时,我可以看到它只使用一个实例,因为我在QuickSort类中有一个不准确的计数。 Kotlin在语法上不使用新的,所以我怎么去解决这个问题呢? object QuickSort { var count = 0; quickSortOne(…){ … count++ … } quickSortTwo(…){ … count++ … } } 这里是我如何创建我的2个实例。我的目标是让quickSort1和quickSort2是2个独立的实例。 var quickSort1 = QuickSort quickSort1.quickSortOne(…) var quickSort2 = QuickSort quickSort2.quickSortTwo(…) 尝试解决方案 :将QuickSort从对象转换为类。 这仍然导致使用相同的实例,如包含第一次调用计数的第二种方法的计数所示。 class QuickSort { var count = 0; quickSortOne(…){ … count++ … } quickSortTwo(…){ … count++ … } } … […]