現在、私はライブラリのようにカードのようなタイラースワイプの機能(here)を表示していますが、を表示していないカードで少し問題があります。 getCount
と初期化を確認しても、表示されません。私はどこが間違っているのか分からず、これを見るには新しい目のペアが必要だと思う。これは数日間はあった。ありがとうございました。ArrayAdapterでgetView()が呼び出されていません
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;
}
}
EDIT これでまだ進展なしので、私は、私のメインクラスからもう少しコードを配置CardSliderActivity.java
私のメインクラスに何かがある場合に備えて、それと関係があります。
あなたが使用しているライブラリは、リンクしたライブラリですか? これは何も関係がなく、代わりにそうであるようです:https://github.com/flschweiger/SwipeStack あなたの質問を更新し、私たちがあなたに役立つ正確なデータを提供してください。 – Eselfar
大変申し訳ございません。私は昨夜、これを投稿したときにとても疲れていて、混乱したかもしれません。私はそれを更新しました。 –
コードを最小限に抑えてください。それまでにまだ問題を解決していない場合は、小さなコードを投稿してください。これはあまりにも多くのコードです。 –