【发布时间】:2017-08-11 18:13:26
【问题描述】:
我有一个应用程序,允许我在单击按钮后添加一些房屋。我正在使用列表视图来显示它,但我需要在一行中添加 4 个房屋。当我单击按钮时,它会将房屋添加到新行中,而不是在同一行中。在 ListView 的单行中添加更多元素的代码是什么?
这是我的 ListViewAdapter:
package com.example.andraripan.myapplication;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
/**
* Created by andraripan on 3/2/17.
*/
public class ListViewAdapter extends BaseAdapter {
private ArrayList<String> animals;
private ArrayList<Integer> houses;
private Activity activity;
public ListViewAdapter(Activity activity, ArrayList<String> animals, ArrayList<Integer> houses) {
super();
this.animals = animals;
this.houses = houses;
this.activity = activity;
}
@Override
public int getCount() {
return animals.size();
}
@Override
public String getItem(int position) {
return animals.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
public static class ViewHolder
{
public ImageView imgViewHouse;
public TextView txtViewTitle;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if(convertView==null)
{
view = new ViewHolder();
convertView = inflator.inflate(R.layout.gridview_row,null);
view.txtViewTitle = (TextView) convertView.findViewById(R.id.textView1);
view.imgViewHouse = (ImageView) convertView.findViewById(R.id.imageView1);
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(animals.get(position));
view.imgViewHouse.setImageResource(houses.get(position));
return convertView;
}
}
对于一只动物:
Cow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(coins >=15 ) {
animals.add("Cows"+ "");
houses.add(R.drawable.house);
mAdapter.notifyDataSetChanged();
coins-=15;
Coins.setText(String.valueOf(coins));
}
else {
Toast.makeText(c, "Insufficient funds!", Toast.LENGTH_SHORT).show();
}
dialog.dismiss();
}
});
【问题讨论】:
-
根据我的理解,你需要在第一行有一个按钮,在按钮上点击 4 个房子应该显示在第一行本身,在按钮的右侧......我是对的??????
-
我的描述不是很清楚。例如,我有 3 种动物。狐狸、狼和河马。在第一行,我用按钮为 Foxes 添加了一个房子。当我再次单击该按钮时,在该行中添加另一所房子时,它会将我的房子放在第二行,而不是在第一所房子之后..我不知道如何在一行中添加更多房子..跨度>
-
您需要发布有关 OnClickListener 的代码。
-
我现在已经发布了 :D 我想改用 GridView,可以吗?
标签: java listview android-studio