2012-04-17 177 views
1

我可以在getView()方法中調用setContentView()方法嗎?如果是這樣,怎麼樣?
其實,我有一個列表,我正在使用它來顯示一些視圖,如TextView,Imageview和Button。現在在一個按鈕點擊事件我想展示一些其他視圖。這是我的代碼:我可以在Android的getView()方法中調用setContentView()方法嗎?

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

但它給我一個語法錯誤,因爲我在BaseAdapter類中使用此方法。

有沒有其他方法可以做到這一點?

在此先感謝。

+0

嘗試'YourCurrentActivity.this.setContentView(R.layout.search);' – 2012-04-17 09:37:22

回答

0
getView(...)

,創造row佈局和投入的ImageView,TextView的,按鈕

@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/

+0

如何在這裏設置我的第二個佈局文件? – Neha 2012-04-17 13:31:24

+0

R.layout.row是列表行第二個列表行 – 2012-04-17 13:38:56

1

如果要擴展底座適配器類,那麼你可以通過你的情況下在你的擴展適配器類。然後,您可以使用該上下文來設置您的內容視圖。

context.setContentView(R.layout.search);

另一種方法是您可以使用廣播接收器並將廣播從適配器類發送到您的活動課程,並且您可以更新活動。

我沒有試過第一種方法,但我嘗試過第二種方法來改變acitvity中的視圖。

+0

我試過你的第一個方法,它的工作正常。感謝您的解決方案。 – Neha 2012-04-17 13:30:14

+0

當你找到答案時,你應該標記爲答案,因爲別人不應該浪費時間來解決你的問題......並且歡迎 – 2012-04-18 04:56:57

相關問題