1

我可以setContentView()在方法中调用getView()方法吗?如果是这样,怎么做?
实际上,我有一个列表,用于显示一些视图,如 TextView、Imageview 和 Button。现在在按钮单击事件上,我想显示一些其他视图。这是我的代码:

Button select = (Button)findViewById(R.id.button1);
select.setOnClickListener(new OnClickListener() {
  public void onClick(View arg0) {
     setContentView(R.layout.search);
  }
});

但它给了我一个语法错误,因为我在 BaseAdapter 类中使用了这个方法。

有没有其他方法可以做到这一点。?

提前致谢。

4

2 回答 2

1

如果您正在扩展基本适配器类,那么您可以在扩展的适配器类中传递您的上下文。然后您可以使用该上下文来设置您的内容视图。

context.setContentView(R.layout.search);

另一种方法是您可以使用广播接收器并将广播从您的适配器类发送到您的活动类,然后您可以更新您的活动。

我没有尝试过第一种方法,但我尝试过第二种方法来改变活动中的观点。

于 2012-04-17T10:56:39.617 回答
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/

于 2012-04-17T09:53:35.807 回答