我可以使用setContentView()
方法调用getView()
方法吗?如果是这样,怎么样?
实际上,我有一个List,用于显示TextView,Imageview和Button等视图。现在,在按钮单击事件上,我想显示其他一些视图。这是我的代码:
Button select = (Button)findViewById(R.id.button1);
select.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
setContentView(R.layout.search);
}
});
但它给我一个语法错误,因为我在BaseAdapter类中使用此方法。
还有其他办法吗?
提前致谢。
答案 0 :(得分:1)
如果要扩展基本适配器类,则可以在扩展适配器类中传递上下文。然后,您可以使用该上下文来设置内容视图。
context.setContentView(R.layout.search);
另一种方法是,您可以使用广播接收器并将适配器类的广播发送到您的活动类,并且您可以更新您的活动。
我没有尝试过第一种方法,但我尝试了第二种方法来改变活动中的视图。
答案 1 :(得分:0)
在getView(...)
中创建row
布局并放置imageview,textview,Button
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) CurrentContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
}
并查看此http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/