如何解决数据Mysql未显示在recyclerview中
此应用程序未显示数据MysqL,并且没有错误。请帮我 如何解决这个问题
这是类MainActivity
public class MainActivity extends AppCompatActivity {
private static final String data_url = "http://192.168.1.9/uasazizah/android.PHP";
RecyclerView mRecyclerView;
RecyclerView.Adapter mAdapter;
RecyclerView.LayoutManager mManager;
ProgressDialog pd;
ArrayList<Modeldata> mItems;
private RequestQueue requestQueue;
private StringRequest stringRequest;
ArrayList<HashMap<String,String>> list_data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "http://192.168.1.9/uasazizah/android.PHP";
mRecyclerView = findViewById(R.id.bararecy);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new linearlayoutmanager(this));
Adapterdata adapterdata = new Adapterdata(MainActivity.this,list_data);
mRecyclerView.setAdapter(adapterdata);
requestQueue = Volley.newRequestQueue(MainActivity.this);
list_data = new ArrayList<HashMap<String,String>>();
stringRequest = new StringRequest(Request.Method.GET,url,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("response ",response);
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("azizah");
for (int a = 0; a < jsonArray.length(); a++) {
JSONObject json = jsonArray.getJSONObject(a);
HashMap<String,String> map = new HashMap<String,String>();
map.put("code",json.getString("code"));
map.put("groupname",json.getString("groupname"));
map.put("namag",json.getString("namag"));
list_data.add(map);
Adapterdata adapter = new Adapterdata(MainActivity.this,list_data);
mRecyclerView.setAdapter(adapter);
}
} catch (JSONException e) {
e.printstacktrace();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.getMessage(),Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(stringRequest);
}
}
这是Adapterdata类
在此类getcount中,如果我编写了return list_data.size(),则显示为空或错误
public class Adapterdata extends RecyclerView.Adapter<Adapterdata.ViewHolder> {
Context context;
ArrayList<HashMap<String,String>> list_data;
public Adapterdata(MainActivity mainActivity,ArrayList<HashMap<String,String>> list_data) {
this.context = mainActivity;
this.list_data = list_data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_barang,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder,int position) {
DrawableCrossFadeFactory factory =
new DrawableCrossFadeFactory.Builder().setCrossFadeEnabled(true).build();
Glide.with(context)
.load("http://192.168.1.9/uasazizah/images/" + list_data.get(position).get("namag"))
.transition(withCrossFade())
.apply(new RequestOptions().override(100,100)
.placeholder(R.drawable.ic_launcher_background)
.error(R.drawable.ic_launcher_background).centerCrop()
)
.into(holder.img);
holder.txtkate.setText(list_data.get(position).get("groupname"));
holder.tkscode.setText(list_data.get(position).get("code"));
}
@Override
public int getItemCount() {
return list_data == null ? 0 : list_data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView txtkate,tkscode;
ImageView img;
public ViewHolder(View itemView) {
super(itemView);
txtkate = itemView.findViewById(R.id.namatvv);
tkscode = itemView.findViewById(R.id.code);
img = itemView.findViewById(R.id.imgv);
}
}
}
我应该怎么办?此代码未显示MysqL数据形式。没有错误但没有显示
解决方法
您是否添加了互联网权限以进行显示?
<uses-permission android:name="android.permission.INTERNET" />
,
简而言之,我使用您的代码进行活动。并且此代码有效。
我不使用StringRequest和图像库。因此,如果此代码不起作用,
您必须检查
- 从服务器获取数据
- 检查图片库
无论如何,我的示例代码在这里。
public class MainActivity extends AppCompatActivity {
RecyclerView mRecyclerView;
Adapterdata adapterdata;
ArrayList<HashMap<String,String>> list_data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = findViewById(R.id.bararecy);
list_data = new ArrayList<HashMap<String,String>>();
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
adapterdata = new Adapterdata(MainActivity.this,list_data);
mRecyclerView.setAdapter(adapterdata);
String test = "{\"azizah\":[{\"0\":\"116\",\"code\":\"116\",\"1\":\"desk\",\"description\":\"desk\",\"2\":\"BBM\",\"groupname\":\"BBM\",\"3\":\"gajahh.jpg\",\"namag\":\"gajahh.jpg\"},{\"0\":\"123\",\"code\":\"123\",\"1\":\"test\",\"description\":\"test\",\"2\":\"Pupuk\",\"groupname\":\"Pupuk\",\"3\":\"jerapah.jpg\",\"namag\":\"jerapah.jpg\"},{\"0\":\"1234\",\"code\":\"1234\",\"1\":\"Hei\",\"description\":\"Hei\",\"3\":\"case.PNG\",\"namag\":\"case.PNG\"},{\"0\":\"222\",\"code\":\"222\",\"1\":\"aas\",\"description\":\"aas\",\"3\":\"harimau.jpg\",\"namag\":\"harimau.jpg\"}]} ";
try {
JSONObject jsonObject = new JSONObject(test);
JSONArray jsonArray = jsonObject.getJSONArray("azizah");
for (int a = 0; a < jsonArray.length(); a++) {
JSONObject json = jsonArray.getJSONObject(a);
HashMap<String,String> map = new HashMap<String,String>();
map.put("code",json.getString("code"));
map.put("groupname",json.getString("groupname"));
map.put("namag",json.getString("namag"));
list_data.add(map);
}
adapterdata.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
我没有更改适配器代码,只是制作了list_barang.xml文件。
现在此代码可以正常工作
p.s]这是我的测试代码。我做这个。我没有制作ImageView。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:id="@+id/namatvv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/code"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
,
尝试一下:
for (int a = 0; a < jsonArray.length(); a++) {
JSONObject json = jsonArray.getJSONObject(a);
HashMap<String,String>();
map.put("code",json.getString("code"));
map.put("groupname",json.getString("groupname"));
map.put("namag",json.getString("namag"));
list_data.add(map);
}
Adapterdata adapter = new Adapterdata(MainActivity.this,list_data);
mRecyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
,
list_barang.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardUseCompatPadding="true"
app:cardCornerRadius="2dp"
app:cardElevation="2dp"
app:contentPadding="3dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="106dp"
android:background="#FFFFFF"
android:orientation="horizontal">
<ImageView
android:id="@+id/imgv"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:src="@drawable/ic_launcher_background" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="vertical">
<TextView
android:id="@+id/namatvv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="Kategori"
android:textColor="@android:color/background_dark"
android:textSize="12sp"
android:textStyle="bold"
app:fontFamily="@font/acme" />
<TextView
android:id="@+id/code"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:text="Code"
android:textColor="@android:color/background_dark"
android:textSize="8sp"
android:textStyle="bold"
app:fontFamily="@font/acme" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
activity_main
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:background="#FFFF"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="36dp"
android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:fontFamily="@font/acme"
android:text="Data Barang"
android:textColor="@android:color/background_dark"
android:textSize="30sp"
android:textStyle="bold"
app:fontFamily="@font/acme"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.496"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/bararecy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginLeft="48dp"
android:layout_marginTop="56dp"
android:layout_marginEnd="48dp"
android:layout_marginRight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3">
</androidx.recyclerview.widget.RecyclerView>
</androidx.constraintlayout.widget.ConstraintLayout>
,
此问题已解决。因为koneksi.php有html原因数据没有显示
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。