【发布时间】:2018-08-08 15:11:46
【问题描述】:
我最近一直在跟进有关 Android 应用程序开发的教程,但由于某些错误,我的代码无法构建。我已经完成了错误告诉我的操作(放置分号),但这导致发生意外的令牌错误。
这是我的代码:
package nl.yourikuilman.android.ultimatemcnews;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import static nl.yourikuilman.android.ultimatemcnews.fun.showNewsFragment;
public class MainActivity {
public void AppCompatActivity() {
override fun;
onCreate(savedInstanceState) {
super.onCreate(savedInstanceState) {
setContentView(R.layout.activity_main);
showNewsFragment();
}
}
}
}
public class fun {
public static void showNewsFragment(){
val tag="NewsListFragment";
val existingFragmentWithTag=supportFragmentManager.findFragmentByTag(tag);
if(existingFragmentWithTag==null){
supportFragmentManager.beginTransaction()
.add(R.id.newsListFragmentContainer,NewsListFragment(),tag)
.commit();
}
}
}
我已经在 Android Studio 中编写了它,并且还在同一个项目中使用了 Kotlin。这是我的 java 代码的错误列表(为了让 Android Studio 扔给我):
- 无法解析符号“覆盖”
- 无法解析方法“onCreate(?)”
- 无法解析符号“savedInstanceState”
- 无法解析方法“onCreate(?)”
- 无法解析符号“savedInstanceState”
- 无法解析方法“setContentView(int)”
- 无法解析符号“val”(连续 2 次出现此问题)
- 无法解析符号“supportFragmentManager”(连续 2 次获得此问题)
- 预期方法调用(这是来自 Android Studio 的注释,不是错误)[这点 '.add(R.id.newsListFragmentContainer,NewsListFragment(),tag)' 出来, 更具体:“NewsListFragment()”被指出]。
【问题讨论】:
-
以前从未使用过 Kotlin。但是这段代码应该是 java 还是 Kotlin?如果是 Java,那么这里有很多问题。得到你的答复后我会解释的
-
你不能将一个活动嵌套到另一个活动中......并且你应该在使用它们之前初始化你的变量。
-
好玩后不用分号
override fun; onCreate -
您似乎将 java 和 kotlin 混合在一个文件中。你应该分开保存 java 代码和 kotlin 代码。
-
kotlin 中没有
static和void关键字。改为阅读companion object和Unit。