android - 使用recyclerview在android中不水平显示表格布局表格行内容
问题描述
嗨,在下面我正在显示使用 recyclerview 显示的操作员列表。
对于这个创建的表格布局包含表格行。每行包含来自服务器并通过表格格式显示的数据。
来自服务器的响应:
[{"email":"awdw@dv.vdv","id":"20","mobileNumber":"undefined","username":"akash4345678"}]
但是数据以垂直格式显示想要水平显示。
预期输出:
username email MobileNumber
akash4345678 awdw@dv.vdv undefined
以下代码的输出:
Username Email MobileNumber
akash4345678
awdw@dv.vdv
undefined
Manage_operatorlist.java:
private void doTheAutoRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
// Write code for your refresh logic
progressDialog = new ProgressDialog (getActivity ());
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Communicating...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false);
progressDialog.show();
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API.URL_BASE)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client (client)
.build();
API service = retrofit.create (API.class);
Call<List<GetOperatorList>> userCall = service.getopetaorlist ();
userCall.enqueue(new Callback<List<GetOperatorList>> () {
@Override
public void onResponse(Call <List<GetOperatorList>> call, Response <List<GetOperatorList>> response) {
if(response.isSuccessful()) {
progressDialog.dismiss ( );
Log.d ("Response body", new Gson ( ).toJson (response.body ( )));
String Status = new Gson ( ).toJson (response.body ( ));
JSONArray jsonArray = null;
try {
JSONObject jsonObject=null;
jsonArray = new JSONArray (Status);
arrayList = new ArrayList <> ( );
String id;
// String name[]={} ;
for (int i=0;i<jsonArray.length ();i++) {
username=jsonArray.getJSONObject (i).getString ("username");
email=jsonArray.getJSONObject (i).getString ("email");
mobileNumber=jsonArray.getJSONObject (i).getString ("mobileNumber");
//email=jsonArray.getJSONObject (i).getString ("email");
//mobile_number=jsonArray.getJSONObject (i).getString ("MobileNumber");
Typeface typeface = Typeface.createFromAsset(getActivity ().getAssets (), "fonts/astype - Secca Light.otf");
arrayList.add (username);
arrayList.add (email);
arrayList.add (mobileNumber);
// arrayList.add (email);
// arrayList.add (mobile_number);
}
// Creating Adapter object
SwipeRecyclerViewAdapter mAdapter = new SwipeRecyclerViewAdapter((Context) getActivity (), arrayList);
// Setting Mode to Single to reveal bottom View for one item in List
// Setting Mode to Mutliple to reveal bottom Views for multile items in List
((SwipeRecyclerViewAdapter) mAdapter).setMode(Attributes.Mode.Single);
mRecyclerView.setAdapter(mAdapter);
} catch (JSONException e) {
e.printStackTrace ( );
}
}
else {
progressDialog.dismiss ();
Log.d("Response errorBody", String.valueOf(response.errorBody()));
}
}
@Override
public void onFailure(Call<List<GetOperatorList>> call, Throwable t) {
// lv.setAdapter (adapter);
System.out.println("onFailure");
System.out.println(t.fillInStackTrace());
progressDialog.dismiss();
Toast.makeText(getActivity (), "Some error occurred -> ", Toast.LENGTH_LONG).show();;
// progressDialog.dismiss();
}
});
}
}, 5000);
return ;
}
ManageOperatorlist.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/realmsbg">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:gravity="center_horizontal"
android:background="@drawable/layout_border">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/manage_operator"
android:layout_centerHorizontal="true"
android:padding="12dp"
android:background="@drawable/layout_border"
android:textColor="#fff"
android:textSize="15sp"
android:textStyle="bold"
android:gravity="center"
android:text="Manage Operator List"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingRight="10dp"
android:paddingLeft="5dp"
android:orientation="horizontal">
<TableRow android:layout_gravity="center_horizontal">
<TextView
android:id="@+id/txtRank"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="top"
android:layout_marginRight="10dp"
android:text="UserName"
android:background="@drawable/cellborder"
android:textColor="@color/color_white"
android:textSize="18sp" />
<TextView
android:id="@+id/txtMovieName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dp"
android:layout_gravity="top"
android:layout_marginRight="40dp"
android:text="Email"
android:textColor="@color/color_white"
android:background="@drawable/cellborder"
android:textSize="18sp" />
<TextView
android:id="@+id/txtYear"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="top"
android:text="MobileNumber"
android:textColor="@color/color_white"
android:layout_marginRight="10dp"
android:background="@drawable/cellborder"
android:textSize="18sp" />
</TableRow>
</TableLayout>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="1"
android:orientation="horizontal" />
<TextView
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="No Records"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
SwipeAdapter.java:
@Override
public void onBindViewHolder(final SimpleViewHolder viewHolder, final int position) {
int rowPos = viewHolder.getAdapterPosition ();
final String item = String.valueOf (operatorlist.get (position));
String[] strArray = new String[]{item};
System.out.println (strArray);
viewHolder.tvEmail.setText (strArray[0]);
// viewHolder.tvName.setText (strArray[1]);
// String[] strArray1=new String[]{String.valueOf (strArray)};;
// for (int i=0;i<strArray.length;i++){
// strArray1=strArray;
//
//
// // viewHolder.tvEmail.setText (strArray1[1].get());
//
// }
// System.out.println (strArray[1]); //prints "name"
// viewHolder.tvName.setText ((strArray[3]));
// viewHolder.tvEmail.setText (strArray[0]);
// viewHolder.txtRank.setText (strArray[1]);
viewHolder.swipeLayout.setShowMode (SwipeLayout.ShowMode.PullOut);
// Drag From Left
viewHolder.swipeLayout.addDrag (SwipeLayout.DragEdge.Left, viewHolder.swipeLayout.findViewById (R.id.bottom_wrapper1));
// Drag From Right
viewHolder.swipeLayout.addDrag (SwipeLayout.DragEdge.Right, viewHolder.swipeLayout.findViewById (R.id.bottom_wrapper));
// Handling different events when swiping
viewHolder.swipeLayout.addSwipeListener (new SwipeLayout.SwipeListener ( ) {
@Override
public void onClose(SwipeLayout layout) {
//when the SurfaceView totally cover the BottomView.
}
@Override
public void onUpdate(SwipeLayout layout, int leftOffset, int topOffset) {
//you are swiping.
}
@Override
public void onStartOpen(SwipeLayout layout) {
}
@Override
public void onOpen(SwipeLayout layout) {
//when the BottomView totally show.
}
@Override
public void onStartClose(SwipeLayout layout) {
}
@Override
public void onHandRelease(SwipeLayout layout, float xvel, float yvel) {
//when user's hand released.
}
});
解决方案
请分享您的 SwipeRecyclerViewAdapter 和 xml 。
或者您必须更新您的 RecyclerView xml 文件
推荐阅读
- api - Wikipedia API - 返回某些页面而不是其他页面的坐标?
- reactjs - 在 React Native useState 中初始化数组
- sql - ORA-03113 - 通信通道结束
- amazon-web-services - How to run wget cron command on elastic beanstalk config
- r - 如何在 R 中外推/内插
- javascript - JS setTimeout() 函数
- sql - Laravel/Mysql,用户/收藏表的问题
- python - 如何使用 pd.read_csv 解决 UnicodeDecodeError?
- c++ - C++ 中的“minmax.h”是什么?
- r - 如何绘制加权调查数据并将加权数据从 R 导出到 SPSS?