Android无法循环浏览Gridview中的所有数字

Android无法循环浏览Gridview中的所有数字,android,android-gridview,Android,Android Gridview,我尝试使用Gridview显示餐厅中桌子的总数。用户可以按整数设置表的总数 每个表都有一个从1开始的ID。但是,我所有的表号都是一样的。看起来循环出了问题 class my_adapter extends BaseAdapter{ LayoutInflater inflater=null; Context ctx; int table_count; my_adapter(Context ctx, int table_count){ this.ctx=ctx; this.tab

我尝试使用Gridview显示餐厅中桌子的总数。用户可以按整数设置表的总数

每个表都有一个从1开始的ID。但是,我所有的表号都是一样的。看起来循环出了问题

class my_adapter extends BaseAdapter{

LayoutInflater inflater=null;
Context ctx;
int table_count;

my_adapter(Context ctx, int table_count){
    this.ctx=ctx;
    this.table_count=table_count;
}

@Override
public int getCount() {
    return table_count; // total no. of tables
}

@Override
public Object getItem(int i) {
    return i;
}

@Override
public long getItemId(int i) {
    return i;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {

    View row=view;

    if(row==null){
        inflater=(LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row=inflater.inflate(R.layout.single,null);
    }

    TextView tv_table_no=(TextView)row.findViewById(R.id.table_no);

    for(int count=1;count<=table_count;count++){
        tv_table_no.setText("table number: "+count);
    }

    return row;
}
}
class my_适配器扩展了BaseAdapter{
排气充气机=空;
上下文ctx;
int table_计数;
my_适配器(上下文ctx,int table_count){
这个.ctx=ctx;
表计数=表计数;
}
@凌驾
public int getCount(){
return table_count;//表的总数
}
@凌驾
公共对象getItem(int i){
返回i;
}
@凌驾
公共长getItemId(int i){
返回i;
}
@凌驾
公共视图getView(int i、视图视图、视图组视图组){
视图行=视图;
if(行==null){
充气器=(LayoutInflater)ctx.getSystemService(Context.LAYOUT\u充气器\u服务);
行=充气机。充气(右布局。单个,空);
}
TextView tv_table_no=(TextView)row.findViewById(R.id.table_no);
对于(int count=1;count替换此

for(int count=1;count<=table_count;count++){
    tv_table_no.setText("table number: "+count);
}
希望一切顺利!

更换此

for(int count=1;count<=table_count;count++){
    tv_table_no.setText("table number: "+count);
}

希望一切顺利!

这个for循环是错误的

for(int count=1;count<=table_count;count++){
            tv_table_no.setText("table number: "+count);
        }

这个for循环是错误的

for(int count=1;count<=table_count;count++){
            tv_table_no.setText("table number: "+count);
        }

你把Count放在for循环内,这样它就会显示你的最后一个位置。请把它放在for循环外。

你把Count放在for循环内,这样它就会显示你的最后一个位置。请把它放在for循环外。

你在
getView()
方法中循环。 实际上
getView()
方法是根据
getCount()
方法调用的

移除
for
循环,设置
i
的值,而不是
TextView
上的计数

只需将方法
getView()
替换为:

@Override
public View getView(int i, View view, ViewGroup viewGroup) {

    inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    

    view = inflater.inflate(R.layout.single,null);

    TextView tv_table_no=(TextView)row.findViewById(R.id.table_no);

    tv_table_no.setText("table number: "+i);

    return row;
}

您正在
getView()
方法中循环。 实际上
getView()
方法是根据
getCount()
方法调用的

移除
for
循环,设置
i
的值,而不是
TextView
上的计数

只需将方法
getView()
替换为:

@Override
public View getView(int i, View view, ViewGroup viewGroup) {

    inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    

    view = inflater.inflate(R.layout.single,null);

    TextView tv_table_no=(TextView)row.findViewById(R.id.table_no);

    tv_table_no.setText("table number: "+i);

    return row;
}