0

I have an app using ActionBarSherlock and Facebook SDK 3.0.2. After I imported ActionBarSherlock and implemented it in my app, I got these problems. First , the android_support_v4 libs conflicted. Then I removed it and point to only one jar file. My app installed. Second, when the app run the MainActivity which includes the ABS, the app forced close and there a error : java.lang.NoClassDefFoundError: android.support.v4.app.FragmentActivity

What is the problem here :

package vn.com.onesoft.bigvl.main.activity;

import java.util.ArrayList;

import vn.bigone.main.MainActivity;
import vn.com.onesoft.bigvl.R;
import vn.com.onesoft.bigvl.chat.ChatActivity;
import vn.com.onesoft.bigvl.context.GameContext;
import vn.com.onesoft.bigvl.gps.GPSTracker;
import vn.com.onesoft.bigvl.main.ui.ActionManager;
import vn.com.onesoft.bigvl.main.ui.BigVLListViewAdapter;
import vn.com.onesoft.bigvl.main.ui.BigVLListViewItem;
import vn.com.onesoft.bigvl.main.ui.IListViewItem;
import vn.com.onesoft.bigvl.message.MessageSender;
import vn.com.onesoft.bigvl.message.out.MGetContactListReq;
import vn.com.onesoft.bigvl.message.out.MVLGetFollowListReq;
import vn.com.onesoft.bigvl.message.out.MVLGetFriendListInMobileContactReq;
import vn.com.onesoft.bigvl.message.out.MVLListGameReq;
import vn.com.onesoft.bigvl.message.out.MVLUpdateLocationReq;    
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;

@SuppressLint("ShowToast")
public class ActivityMain extends SherlockActivity implements ActionBar.TabListener {

@Override
protected void onResume() {
    //
    super.onResume();
    GameContext.activity = this;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bvl_activity_main);
    GameContext.activity = this;

    this.getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // TODO tab1
    ActionBar.Tab tab1 = getSupportActionBar().newTab();
    tab1.setText("Kết nối");
    tab1.setIcon(R.drawable.ket_noi);
    tab1.setTabListener(this);
    getSupportActionBar().addTab(tab1);
    // TODO tab2
    ActionBar.Tab tab2 = getSupportActionBar().newTab();
    tab2.setText("Kết nối");
    tab2.setIcon(R.drawable.chat);
    tab2.setTabListener(this);
    getSupportActionBar().addTab(tab2);
    // TODO tab3
    ActionBar.Tab tab3 = getSupportActionBar().newTab();
    tab3.setText("Kết nối");
    tab3.setIcon(R.drawable.game);
    tab3.setTabListener(this);
    getSupportActionBar().addTab(tab3);
    // TODO tab4
    ActionBar.Tab tab4 = getSupportActionBar().newTab();
    tab4.setText("Kết nối");
    tab4.setIcon(R.drawable.blog);
    tab4.setTabListener(this);
    getSupportActionBar().addTab(tab4);

    final ListView listview = (ListView) findViewById(R.id.listViewConnectivityFriends);
    listview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            //
            BigVLListViewAdapter lvAdapter = (BigVLListViewAdapter) parent
                    .getAdapter();
            BigVLListViewItem item = (BigVLListViewItem) lvAdapter
                    .getItem(position);
            item.getLvAction().onClick();
        }
    });

    ArrayList<BigVLListViewItem> lvItems = new ArrayList<BigVLListViewItem>();

    lvItems.add(new BigVLListViewItem(R.drawable.danh_ba, "Danh bạ",
            new IListViewItem() {

                @Override
                public void onClick() {
                    MVLGetFriendListInMobileContactReq mobileContactReq = new MVLGetFriendListInMobileContactReq();
                    MessageSender.sendMessage(mobileContactReq);
                }
            }));
    lvItems.add(new BigVLListViewItem(R.drawable.danh_sach_ban,
            "Danh sách bạn", new IListViewItem() {

                @Override
                public void onClick() {
                    //
                    Intent intent = new Intent(GameContext.activity,
                            MainActivity.class);
                    GameContext.activity.startActivity(intent);
                }
            }));

    lvItems.add(new BigVLListViewItem(R.drawable.theo_doi_ban,
            "Danh sách theo dõi", new IListViewItem() {

                @Override
                public void onClick() {
                    // TODO Auto-generated method stub
                    MVLGetFollowListReq mvlGetFollowListReq = new MVLGetFollowListReq(
                            0);
                    MessageSender.sendMessage(mvlGetFollowListReq);
                }
            }));

    lvItems.add(new BigVLListViewItem(R.drawable.ket_noi,
            "Yêu cầu kết bạn", new IListViewItem() {

                @Override
                public void onClick() {
                    // TODO Auto-generated method stub

                }
            }));

    final ListView listview2 = (ListView) findViewById(R.id.listViewConnectivitySearch);
    listview2.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            //
            BigVLListViewAdapter lvAdapter = (BigVLListViewAdapter) parent
                    .getAdapter();
            BigVLListViewItem item = (BigVLListViewItem) lvAdapter
                    .getItem(position);
            item.getLvAction().onClick();
        }
    });
    ArrayList<BigVLListViewItem> lvItem2s = new ArrayList<BigVLListViewItem>();

    lvItem2s.add(new BigVLListViewItem(R.drawable.tim_kiem,
            "Tìm quanh đây", new IListViewItem() {

                @Override
                public void onClick() {
                    GPSTracker gps = new GPSTracker(GameContext.activity);
                    MVLUpdateLocationReq mvlUpdateLocationReq = new MVLUpdateLocationReq(
                            gps.getLatitude(), gps.getLongitude());
                    MessageSender.sendMessage(mvlUpdateLocationReq);
                }
            }));

    listview.setAdapter(new BigVLListViewAdapter(lvItems));

    listview2.setAdapter(new BigVLListViewAdapter(lvItem2s));
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub
    switch (tab.getPosition()) {
    case 0:
        ActionManager.showAction(ActionManager.ACTION_KET_NOI);
        MGetContactListReq mGetContactListReq = new MGetContactListReq(
                0);
        MessageSender.sendMessage(mGetContactListReq);
        break;

    case 1:
        ActionManager.showAction(ActionManager.ACTION_CHAT);
        Intent intent = new Intent(
                GameContext.activity.getApplicationContext(),
                ChatActivity.class);
        startActivity(intent);
        Toast.makeText(GameContext.activity, "Request sent", 1).show();
        break;
    case 2:
        ActionManager.showAction(ActionManager.ACTION_GAMES);
        MVLListGameReq mListGameReq = new MVLListGameReq();
        MessageSender.sendMessage(mListGameReq);
        break;
    case 3:

        break;

    default:
        break;
    }
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub

}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
    // TODO Auto-generated method stub

}

}
Ariel Magbanua
  • 3,083
  • 7
  • 37
  • 48
  • eclipse or android studio? the new version of the sdk makes some trouble with importing librabries. im pretty sure, its the problem here – bofredo Aug 08 '13 at 09:00
  • I'm using the latest ADT Bundle version, android_support_v4, my phone runs on android 4.1.1 – Hoang Dung Do Aug 08 '13 at 10:15

1 Answers1

0

I had this problem a couple of times when I tried to include a jar. The step-by-step tutorial of this question helped me:

Adding a library/JAR to an Eclipse Android project

Community
  • 1
  • 1
Terry
  • 14,529
  • 13
  • 63
  • 88