0

私はデータベースを持っていますが、RecyclerViewを使って私が持っているすべてのユーザーエントリを表示しようとしています。私のログからは、私のRecyclerViewが対話していないことがわかります。ここで私はそれを呼び出すクラスがある:RecyclerViewはデータベースの内容を表示しません

public class WelcomePage extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_welcome_page); 

    FragmentManager manager = getFragmentManager(); 
    RecyclerFragment mRecyclerFragment = new RecyclerFragment(); 
    if(mRecyclerFragment == null) { 
     manager.beginTransaction() 
       .add(R.id.recycler, mRecyclerFragment) 
       .commit(); 
    } 
} 
} 

は、これは私のホルダークラスです:

public class RecyclerHolder extends RecyclerView.ViewHolder{ 

private static final String TAG = "RecyclerHolder"; 

private TextView mFullName; 
private TextView mBirthDate; 
private TextView mHomeTown; 
private TextView mBio; 
User mUser; 

RecyclerHolder(View itemView){ 
    super(itemView); 

    mFullName = (TextView)itemView.findViewById(R.id.text_view_name); 
    mBirthDate = (TextView)itemView.findViewById(R.id.text_view_birthday); 
    mHomeTown = (TextView)itemView.findViewById(R.id.text_view_hometown); 
    mBio = (TextView)itemView.findViewById(R.id.text_view_bio); 

public void bind(User user) { 
    mUser = user; 
    mFullName.setText(user.getFullName()); 
    mBirthDate.setText(user.getBirthDate().toString()); 
    mHomeTown.setText(user.getHomeTown()); 
    mBio.setText(user.getBio()); 
} 

} 

ここに私のアダプタクラスです:

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerHolder> { 
private ArrayList<User> mUsers; 

public RecyclerAdapter(ArrayList<User> user) { 
    mUsers = user; 
} 

@Override 
public RecyclerHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    LayoutInflater inflater = LayoutInflater.from(parent.getContext()); 
    View view = inflater.inflate(R.layout.view_recycler, parent, false); 
    RecyclerHolder holder = new RecyclerHolder(view); 
    return holder; 
} 

@Override 
public void onBindViewHolder(RecyclerHolder holder, int position){ 
    holder.bind(mUsers.get(position)); 

} 

@Override 
public int getItemCount() { 
    return mUsers.size(); 
} 

} 

ここに私のフラグメントのクラスがあります:

public class RecyclerFragment extends Fragment { 

private RecyclerView mRecyclerView; 
DBCursorWrapper db; 

public RecyclerFragment() { 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_recycler, container, false); 
    mRecyclerView = (RecyclerView)view.findViewById(R.id.recycler); 
    mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 

    RecyclerAdapter adapter = new RecyclerAdapter(db.getUserList()); 
    mRecyclerView.setAdapter(adapter); 

    return view; 

} 

} 

ここに私の趣味のためのXMLがありますDER:ここ

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/view_recycler"> 

<TextView 
    android:id="@+id/text_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    /> 


</LinearLayout> 

は私のフラグメントのための私のXMLである:ここでは

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/recycler" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.csc214.just4kas.project02.RecyclerFragment"> 

</android.support.v7.widget.RecyclerView> 

は、私は私のRecyclerView呼び出す場所のための私のXMLです:

<FrameLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/frame_layout_recycler_view" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.csc214.just4kas.project02.WelcomePage"> 

</FrameLayout> 

getUserList()が個別にテストされています完璧に動作します!

ご迷惑をおかけして申し訳ございません。私はちょうど私のデータベースのすべての内容のRecyclerViewがほしいと思う!!ありがとう!

+0

getUserListが値を返すかどうかをデバッグして確認できますか? –

+0

@AjayShrestha値を返さない。 – Yikes

+0

私の答えをチェックしてください –

答えて

1

私はあなたが主な活動にそれを追加するときに間違ったレイアウトを使用しているかもしれないと思う。 try(R.id.frame_layout_recycler_view)またはR.id.recycler。

または、このコンテキストでデータベースを使用する際に問題が発生することがあります。

関連する問題