2013-11-21 2 views
0

Я использую фрагменты в Android.I получил NoClassDefFoundException, нажав кнопку. Код приведен ниже.NoClassDefFoundException

MainActivity.class

public void onClick(View view) { 
    // TODO Auto-generated method stub 
    if(view.equals(btnLogin)){ 
     Intent logd=new Intent(getApplicationContext(), Home.class); 
     startActivity(logd); 
    } 

Home.class

package com.nv.netpos; 
import java.util.Stack; 
import android.app.Fragment; 
import android.os.Bundle; 
import android.support.v4.app.FragmentTabHost; 
public class Home extends SherlockFragmentActivity { 
    private FragmentTabHost tabHost; 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
     tabHost=(FragmentTabHost)findViewById(android.R.id.tabhost); 
     tabHost.setup(getApplicationContext(), getSupportFragmentManager()); 
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("HOME"), 
      Fragment2.class, null); 
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("ITEMS"), 
       Fragment2.class, null); 
}} 
+1

Дайте нам полную ошибку? – LotusUNSW

+0

опубликовать файл AndroidManifest.xml и ошибку logcat. –

+1

Помимо передачи 'getApplicationContext()' pass 'getActivity()'. @jithin – GrIsHu

ответ

0

Попробуйте это:

Перейти к Project/Properties/Java Построить путь/Заказ и экспорт - Убедитесь в том, что есть проверка перед Android зависимостями и библиотеки поддержки, если вы используете it.Mark все галочки. Нажмите «Применить» и очистите проект.

Это сработало для меня. Надеюсь, это поможет.

1

Ваша проблема в том, что, вероятно, которого не объявить Home активность в вашем AndroidManifest.xml.

См. AndroidManifest documentation или this topic, чтобы узнать, как объявить активность в манифесте.

Примечание: как @GrIsHu указал в комментариях, не используйте getApplicationContext(), используйте getApplication() при передаче параметра контекста.

Смежные вопросы