2017-05-08 145 views
0
Intent intent=new Intent(MainActivity.this, ContactListActivity.class); 
         startActivity(intent); 

MainActivity.this是用java编写的,ContactListActivity是用kotlin编写的。我试图调用ContactListActivty,但最终得到错误在kotlin中找不到类?

have you declared this activity in your AndroidManifest.xml? 

我还在清单文件中添加了该活动。

<activity android:name="Chat_Activity$Connections$ContactListActivity" 
      android:parentActivityName=".MainActivity"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value=".MainActivity"/> 
     </activity> 

编辑:

ContactListActivity.kt

class ContactListActivity : AppCompatActivity() { 

    private var mBroadcastReceiver: BroadcastReceiver? = null 
    private val TAG:String="ContactListActivity" 

    //static variable 
    object Obz{ 
     @JvmStatic val GetContactListFromServer:String="Contact List" 
    } 

    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(layout.activity_contact_list) 


     title = "Contact list" 

     contact_list.hasFixedSize() 
     contact_list.layoutManager= LinearLayoutManager(this) 

     getContactListAndNextActivity() 
    } 

    fun getContactListAndNextActivity(){ 

     contact_list.adapter= ContactListAdaptor(applicationContext, dbHelper(applicationContext).getContactList()) 

    } 

} 
+0

如何以及在哪里是'ContactListActivity'类中声明? – miensol

+0

它在清单中声明。 @miensol –

+0

你能告诉我们你有'class ContactListActivity'的源代码吗? – miensol

回答

0

您的清单name项目看起来嫌疑。

android:name="Chat_Activity$Connections$ContactListActivity"

我不知道完全合格的路径名称是什么,但尝试:

android:name=".ContactListActivity"

android:name="<qualified.path.to>.ContactListActivity"

+0

不工作.... –

+0

@AnkurKhandelwal你尝试了什么?你需要更具体。 –

+0

此外,应用程序在添加此活动之前是否正在编译其他Kotlin代码?也许你还没有在你的项目中正确配置Kotlin? –

0

我有类似的问题,尝试重命名您的活动为ex添加1个符号,并在您的清单中添加1个符号写

android:name=".ContactListActivity1" 

可以再次重新命名,并设置其旧名