【问题标题】:NoClassDefFoundException [closed]NoClassDefFoundException [关闭]
【发布时间】:2013-11-21 11:10:54
【问题描述】:

我在 Android 中使用片段。单击按钮时我得到了一个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);
}}

【问题讨论】:

  • 给我们完整的错误?
  • 发布 AndroidManifest.xml 文件,还有 logcat 错误。
  • 除了传递getApplicationContext() 传递getActivity()。 @jithin
  • @jithin 你能发布你的整个 logcat 错误吗?
  • 检查项目中的导入

标签: android


【解决方案1】:

您的问题可能是您没有在AndroidManifest.xml 中声明Home 活动。

请参阅 AndroidManifest documentationthis topic 了解如何在清单中声明活动。

注意:正如@GrIsHu在cmets中指出的那样,传递上下文参数时不要使用getApplicationContext(),使用getApplication()。

【讨论】:

    【解决方案2】:

    试试这个:

    转到 Project/Properties/Java Build Path/Order and Export -- 如果您使用它,请确保在 Android Dependencies 和支持库前面有一个检查。标记所有复选框。单击 Apply 并清理项目。

    这对我有用。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-11
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 2019-06-19
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      相关资源
      最近更新 更多