私のアンドロイドアプリでは、Recyclerview
のレイアウトにデータを表示したいと考えています。ここで私はそれを参照してくださいいくつかのコードを指定します。私はそれの背後にある理由は何か分からないので。私を助けてください。前もって感謝します。ここでRecyclerビューnullオブジェクト参照のsetLayoutManager
fragment.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/rvDisplay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
、私はRecyclerView
のRAWファイルを指定します。
今raw.xml
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@color/colorWhite"
app:cardElevation="8dp"
card_view:cardCornerRadius="2dp"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:id="@+id/footerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:padding="10dp">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/txtListTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="HMS Scrap"
android:textColor="@color/colorWhite" />
<android.support.v7.widget.AppCompatTextView
android:id="@+id/txtListName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txtListTitle"
android:layout_marginTop="10dp"
android:text="HMS Scrap"
android:textColor="@color/colorWhite" />
</RelativeLayout>
</android.support.v7.widget.CardView>
、私は、アダプタのファイル・コード
adapter.java今
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder> {
private Context mContext;
private List<ListModal> listTitle;
public ListAdapter(Context mContext, List<ListModal> listTitle) {
this.mContext = mContext;
this.listTitle = listTitle;
}
@Override
public ListAdapter.ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.raw_list, parent, false);
return new ListAdapter.ListViewHolder(itemView);
}
@Override
public void onBindViewHolder(ListAdapter.ListViewHolder holder, int position) {
ListModal objListModal = listTitle.get(position);
holder.txtListTitle.setText(objListModal.getList_name());
holder.txtListTitle.setText(objListModal.getList_title());
@Override
public int getItemCount() {
return 0;
}
public class ListViewHolder extends RecyclerView.ViewHolder {
TextView txtListTitle, txtListName;
CardView cvList;
public ListViewHolder(View itemView) {
super(itemView);
txtListTitle = (TextView) itemView.findViewById(R.id.txtListTitle);
txtListName = (TextView) itemView.findViewById(R.id.txtListName);
cvList = (CardView) itemView.findViewById(R.id.cardView);
}
}
}
Fragment.java
に投稿しますRecyclerView rvDisplay;
private ListAdapter adapter;
private List<ListModal> lstmodal;
public CreateListFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_create_list, container, false);
rvDisplay = (RecyclerView) view.findViewById(R.id.rvDisplay);
lstmodal = new ArrayList<>();
final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rvDisplay.setLayoutManager(layoutManager);
makeJsonArrayRequest();
return view;
}
private void makeJsonArrayRequest() {
String cancel_req_tag = "list";
JsonArrayRequest req = new JsonArrayRequest(URL_FOR_SELECT,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d("OnResponse", response.toString());
try {
// Parsing json array response
// loop through each json object
for (int i = 0; i < response.length(); i++) {
JSONObject jsonObject = response.getJSONObject(i);
ListModal objListModal = new ListModal();
if (!jsonObject.isNull("list_name")) {
objListModal.list_name = jsonObject.getString("list_name"); //here we can fetch webservice field
}
if (!jsonObject.isNull("list_title")) {
objListModal.list_title = jsonObject.getString("list_title"); //here we can fetch webservice field
}
lstmodal.add(i, objListModal);
}
adapter = new ListAdapter(getActivity(), lstmodal);
rvDisplay.setItemAnimator(new DefaultItemAnimator());
rvDisplay.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getActivity(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("VolleyError", "Error: " + error.getMessage());
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
ここで私はあなたがレイアウトファイルを呼び出す断片コードでただしfragment.xml
命名されたと言うのコードの最初のブロックで作業ログ
このhttp://www.androidhive.info/2016/01/android-working-with-recycler-view/またはこのhttp://www.vogella.com/tutorials/AndroidRecyclerView/articleを参照してください。 .html –
あなたに素晴らしい答えを与えるために、もしあなたがまだ尋ねていないのであれば、私たちを助けるかもしれません。あなたが[mcve]を提供できるなら、それは役に立つかもしれません。 – Mat