2017-05-08 52 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" 

可以再次重新命名,並設置其舊名