我想在其他下方显示两个字符串,就像它是一个列表一样。 我尝试使用simple_list_item_1填充listview,但屏幕上没有任何内容。
((ListView)view).setAdapter(new ArrayAdapter<String>
(RealScreen.getAndroidBaseContext(),android.R.layout.simple_list_item_1, label));
其中label是一个包含两个要显示的项目的数组。我只能看到一个白色的屏幕。此外,我希望此列表不可点击。
我希望输出如下:
String 1
String 2
我不使用Activity,而是使用View。 这是创建视图的方法
public void createView(JSONObject definition) {
// TODO Auto-generated method stub
super.createView(definition);
final JSONArray rowArray = definition.optJSONArray(KeyConstants.KEY_ROWS);
final JSONArray columnArray = definition.optJSONArray(KeyConstants.KEY_COLUMNS);
if (rowArray != null) {
label = new String[rowArray.length()];
for (int i = 0; i < rowArray.length(); i++) {
final JSONObject candidate = rowArray.optJSONObject(i);
if(candidate!=null){
label[i]=candidate.optString(KeyConstants.KEY_LABEL_TEXT, null);
}
}
}
((ListView)view).setAdapter(new ArrayAdapter<String>(RealScreen.getAndroidBaseContext(),android.R.layout.simple_list_item_1, label));
}
感谢。
答案 0 :(得分:0)
首先创建一个自定义适配器类,如下所示
类MyAdapter扩展了ArrayAdapter {
private Context context;
private ArrayList<String> list;
public MyAdapter(Context context,
ArrayList<String> list)
{
super(context, R.layout.layout_list);
this.context = context;
this.list = list;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.layout_list,
null);
convertView.setTag(holder);
holder.string1 = (TextView) convertView
.findViewById(R.id.stringgID1);
holder.string2 = (TextView) convertView
.findViewById(R.id.stringID2);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.string1 .setText(list.get(postion));
holder.string2 .setText(list.get(position));
return convertView;
}
@Override
public int getCount() {
return list.size();
}
class ViewHolder {
TextView string1 = null;
TextView string2 = null;
}
}
然后让您的活动扩展活动,不是ListActivity
listView.setAdapter(new MyAdapter(youtactivityame.this,label);
执行此操作可以显示包含任意数量列表项的标签。