當前我正在使用庫來顯示類似卡的Tinder滑動功能(here),但我對卡沒有顯示有點問題。我一定要檢查我的getCount
和初始化,但仍然不顯示。我不確定我做錯了什麼,我想我需要一雙新的眼睛來看這個。在這裏呆了好幾天。謝謝。getView()未在ArrayAdapter中調用
app_bar_main.xml
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jobforhire.mobile.CardSliderActivity">
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" >
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="JobForHire"
android:textColor="@android:color/white"
android:textSize="24sp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/activity_job_list_container"/>
</android.support.design.widget.CoordinatorLayout>
activity_job_list_container.xml
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context="com.jobforhire.mobile.CardSliderActivity"
xmlns:android="http://schemas.android.com/apk/res/android">
<link.fls.swipestack.SwipeStack
android:id="@+id/swipeStack"
android:layout_width="320dp"
android:layout_height="240dp"
android:padding="32dp"/>
</LinearLayout>
activity_job_list_card_view.xml
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="8dp"
android:gravity="center_horizontal"
android:padding="25dp"
card_view:cardBackgroundColor="@color/cardview_light_background"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp"
card_view:cardUseCompatPadding="true">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/title"
android:text="Hello"/>
</android.support.v7.widget.CardView>
CardSliderActivity.java
private int cardCount = 2;
private SwipeDeck cardStack;
private String token;
private ArrayList<String> testData;
private ArrayList<DataJobCards> testJsonData = new ArrayList<>();
private ArrayList<DataPreference> dataPreferenceArrayList = new ArrayList<>();
private ArrayList<DataPreference> dataPreferenceArrayListContainer = new ArrayList<>();
private SwipeDeckAdapter adapter;
/**
* Inflate a card deck and insert card into the deck
*/
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new RetrieveCards(this,1).execute();
setContentView(R.layout.activity_main);
Intent intent = getIntent();
token = intent.getStringExtra("access_token");
new PrefUserAsync(this,this,token).execute();
Fabric.with(this, new Answers());
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//toolbar.setTitle(R.string.card_title);
setSupportActionBar(toolbar);
//getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
//getSupportActionBar().setCustomView(R.layout.custom_toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
getSupportActionBar().setDisplayShowTitleEnabled(false);
cardStack = (SwipeDeck) findViewById(R.id.swipe_deck);
}
@Override
public void PassCards(ArrayList<DataJobCards> arrayList) {
this.testJsonData = arrayList;
adapter = new SwipeDeckAdapter(testData,testJsonData,cardStack,this);
if(cardStack != null) {
cardStack.setAdapter(adapter);
Log.d("Check adapter ", "is !null");
}
else{
Log.d("Check adapter ", "is null");
}
}
CardDeckAdapter.java
public class CardDeckAdapter extends ArrayAdapter<DataJobCards> {
private Context context;
private ArrayList<Integer> randomImage = new ArrayList<>();
private ArrayList<DataJobCards> cardList;
private LayoutInflater inflater;
public CardDeckAdapter(Context context, ArrayList<DataJobCards> apps) {
super(context,0,apps);
this.cardList = apps;
this.context = context;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Log.d("Adapter ", "Executed");
for(int i = 0; i < cardList.size(); i++){
Log.d("Check ", cardList.get(i).getJobTitle());
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
Log.d("getView ", "Executed");
if (convertView == null) {
convertView = inflater.inflate(R.layout.activity_job_list_card_view, parent,false);
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.title);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
DataJobCards dataJobCard = getItem(position);
holder.name.setText(dataJobCard.getJobTitle());
return convertView;
}
@Override
public int getCount() {
return cardList.size();
}
@Override
public DataJobCards getItem(int position) {
return cardList.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
public static class ViewHolder {
TextView name;
}
}
編輯 仍與此沒有任何進展,所以我寄予了更多的一點點代碼從我的主類,這是CardSliderActivity.java
以防萬一我的主課有什麼與它有關。
你確定你使用的圖書館是你鏈接的圖書館嗎? 它沒有任何關係,它似乎是一個,而不是:https://github.com/flschweiger/SwipeStack 您能否更新您的問題,並讓您提供準確的數據,以幫助我們? – Eselfar
我很抱歉。昨天晚上,當我發佈這個消息時,我感到非常疲倦,可能會感到困惑。我已經更新了它。 –
修剪你的代碼到最低限度。如果到那時還沒有解決問題,請發佈較小的代碼。這是太多的代碼。 –