Android ListView没有';不显示结果,但传递代码
我有ListView的行(ListView在LinearLayout内),如 我把适配器设置为Android ListView没有';不显示结果,但传递代码,android,android-widget,Android,Android Widget,我有ListView的行(ListView在LinearLayout内),如 我把适配器设置为 SimpleAdapter m=new SimpleAdapter( data ); listView.setAdapter(m); 数据是String[]data=newstring[]{“test”,“test_1”} 但清单上没有;我什么也没表现出来。我调试过,正常通过,但没有显示。有什么问题吗 public View getView(int pos
SimpleAdapter m=new SimpleAdapter( data );
listView.setAdapter(m);
数据是String[]data=newstring[]{“test”,“test_1”}代码>
但清单上没有;我什么也没表现出来。我调试过,正常通过,但没有显示。有什么问题吗
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.row, null);
}
return view;
}
使用以下命令修改getView:
if(convertView == null){
LayoutInflater inflater (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.row, null);
} TextView t = (TextView) convertView.findViewById(your text view); t.setText(...); return convertView;
在这里,要对行进行充气,您不需要设置行的内容。。使用convertiview检索文本视图,使用作为参数传递给getView方法的位置调用getItem,并设置文本
使用以下命令修改getView:
if(convertView == null){
LayoutInflater inflater (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.row, null);
} TextView t = (TextView) convertView.findViewById(your text view); t.setText(...); return convertView;
在这里,要对行进行充气,您不需要设置行的内容。。使用convertiview检索文本视图,使用作为参数传递给getView方法的位置调用getItem,然后设置文本。我认为getView()需要一些工作。您并没有对传入的数据进行任何处理。试试这个:
public View getView(int position, View convertView, ViewGroup parent) {
View v;
if (convertView == null)
v = LayoutInflater.from(context).inflate(R.layout.row, parent, false);
else
v = convertView;
TextView text = (TextView) v.findViewById(R.id.txChoice);
text.setText( list[position] );
return v;
}我认为您的getView()需要做一些工作。您并没有对传入的数据进行任何处理。试试这个:
public View getView(int position, View convertView, ViewGroup parent) {
View v;
if (convertView == null)
v = LayoutInflater.from(context).inflate(R.layout.row, parent, false);
else
v = convertView;
TextView text = (TextView) v.findViewById(R.id.txChoice);
text.setText( list[position] );
return v;
}您也可以尝试以下方法:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(view == null)
{
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.row, null);
holder = new ViewHolder();
holder.txtChoice=(TextView)convertView.findViewById(R.id.txtChoice);
}
else
holder=(ViewHolder)convertView.getTag();
holder.textChoice.setText(lis[position]));
return view;
}
static class ViewHolder
{
TextView txtChoice;
}
您也可以尝试以下方法:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(view == null)
{
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.row, null);
holder = new ViewHolder();
holder.txtChoice=(TextView)convertView.findViewById(R.id.txtChoice);
}
else
holder=(ViewHolder)convertView.getTag();
holder.textChoice.setText(lis[position]));
return view;
}
static class ViewHolder
{
TextView txtChoice;
}
和你发布的代码一样,我已经试过了。
而且跑得很好
我在活动和xml中使用了相同的适配器类
在我的TestThis.java文件中
我使用了您的适配器类,并且
我写过,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.maintwiter);
String[] data=new String[]{"test","test_1"};
SimpleAdapter m=new SimpleAdapter( data );
ListView listView = new ListView(this);
listView.setAdapter(m);
setContentView(listView);
}
但仍然需要在getView()方法中将字符串数组中的数据设置为文本视图
老兄,它给了我一个2行列表的结果
与您发布的代码相同,我已经尝试过了。
而且跑得很好
我在活动和xml中使用了相同的适配器类
在我的TestThis.java文件中
我使用了您的适配器类,并且
我写过,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.maintwiter);
String[] data=new String[]{"test","test_1"};
SimpleAdapter m=new SimpleAdapter( data );
ListView listView = new ListView(this);
listView.setAdapter(m);
setContentView(listView);
}
但仍然需要在getView()方法中将字符串数组中的数据设置为文本视图
老兄,它给了我一个2行列表的结果
在getView()中使用列表对象的位置?在getView()中使用列表对象的位置?