android显示一行数据,【求助】BaseAdapter适配器只显示一行数据

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我给ListView使用BaseAdapter适配器,却只显示第一项的文字,而图片却都显示了,好奇怪。(编译无问题)

BaseAdapter代码如下:

BaseAdapter ba =new BaseAdapter(){

@Override

public int getCount()

{

// TODO: Implement this method

return titles.length;

}

@Override

public View getView(int p1, View v, ViewGroup p3)

{

// TODO: Implement this method

if(v==null){

v=inflater.inflate(R.layout.title,null);

}

else{

ImageView image=(ImageView)v.findViewById(R.id.imageview);

TextView stitle=(TextView)v.findViewById(R.id.stitle);

TextView stext=(TextView)v.findViewById(R.id.stext);

image.setImageResource(R.drawable.information);

stitle.setText(titles[p1]);

stitle.setTextSize((int)res.getDimension(R.dimen.size_medium));

stext.setTextSize((int)res.getDimension(R.dimen.size_small));

boolean isReadOK=sp.getBoolean((number<10)?

number+"0"+p1 : number+""+p1

,false);

stext.setText(isReadOK==true ? "阅读完毕!":"");v.setBackgroundResource(R.drawable.button);

}

return v;

}

@Override

public Object getItem(int p1)

{

// TODO: Implement this method

return titles[p1];

}

@Override

public long getItemId(int p1)

{

// TODO: Implement this method

return p1;

}

};

title.xml的代码如下:

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:gravity="left|center">

android:layout_height="50dp"

android:layout_width="50dp"

android:src="@drawable/information"

android:id="@+id/imageview"

android:layout_marginLeft="10dp"/>

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:gravity="left"

android:layout_centerInParent="true"

android:id="@+id/stitle"

android:layout_toRightOf="@id/imageview"/>

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:layout_centerInParent="true"

android:id="@+id/stext"

android:textColor="#FF0000"

android:layout_alignParentRight="true"

android:gravity="right"/>

希望得到解答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于动态加载数据,可以使用ListView或RecyclerView这样的组件,通过Adapter来实现数据的动态添加和展示。下面是一个使用RecyclerView的示例代码: 1. 在布局文件中添加RecyclerView组件: ``` <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 在Activity或Fragment中初始化RecyclerView,并设置Adapter: ``` // 获取RecyclerView组件 RecyclerView recyclerView = findViewById(R.id.recycler_view); // 设置RecyclerView的LayoutManager recyclerView.setLayoutManager(new LinearLayoutManager(this)); // 创建Adapter并设置给RecyclerView MyAdapter adapter = new MyAdapter(dataList); recyclerView.setAdapter(adapter); ``` 3. 自定义Adapter类,根据数据动态添加item: ``` public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<String> mDataList; public MyAdapter(List<String> dataList) { mDataList = dataList; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { // 创建ViewHolder View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { // 绑定数据 String data = mDataList.get(position); holder.textView.setText(data); } @Override public int getItemCount() { // 返回数据项数 return mDataList.size(); } public void addItem(String data) { // 添加数据项 mDataList.add(data); // 更新UI notifyItemInserted(mDataList.size() - 1); } static class ViewHolder extends RecyclerView.ViewHolder { TextView textView; public ViewHolder(@NonNull View itemView) { super(itemView); textView = itemView.findViewById(R.id.text_view); } } } ``` 对于动态添加TableLayout数据,同样可以使用Java代码来实现。下面是一个示例代码: ``` // 获取TableLayout组件 TableLayout tableLayout = findViewById(R.id.table_layout); // 创建一个新行 TableRow tableRow = new TableRow(this); // 添加TextView到新行中 TextView textView = new TextView(this); textView.setText("测试数据"); tableRow.addView(textView); // 把新行添加到TableLayout中 tableLayout.addView(tableRow); ``` 在上面的代码中,我们首先获取了TableLayout组件,然后创建一个新的TableRow对象,再向其中添加一个TextView对象,最后把新的TableRow添加到TableLayout中即可。如果需要添加更多的数据,只需要重复以上步骤即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值