簡體   English   中英

是否可以向Android listactivity添加另一個視圖?

[英]Is it possible to add another view to an Android listactivity?

我想在我的列表活動中添加一個等待圈。 我在這篇文章中使用了答案: 加載東西時在ImageView中使用“動畫圓”

但是我認為我必須添加等待圈布局的setContentView才能使用findViewById。 問題是我不知道我是否可以在同一活動中兩次使用setContentView。

現在,當我嘗試它時,出現一個錯誤,我最常使用setContentView和要使用的listview布局的ID。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listview);}


    public void showCallList() // show call list on screen
{
    getListView().setVisibility(View.GONE);
    findViewById(R.loadingPanel).setVisibility(View.VISIBLE);
    CallListArrayAdapter adapter = new CallListArrayAdapter(this,
            arrayListCalls);
    setListAdapter(adapter);
    findViewById(R.id.loadingPanel).setVisibility(View.GONE);
    getListView().setVisibility(View.VISIBLE);
}

我得到的例外是:

E / AndroidRuntime(4320):由以下原因引起:java.lang.RuntimeException:您的內容必須具有ID屬性為“ android.R.id.list”的ListView

您不能再次調用setContentView。 相反,您應該將其他布局添加到還包含ListView的主XML中。 您可以在那里找到它。

實際上,您不需要ListActivity即可擁有ListView。 您也可以將普通的Activity與普通的layout.xml一起使用,並在其中放置<ListView>以及所需的所有其他視圖。

代替由getListView()定義的getListView() ,使用普通的findViewById()以及您在layout.xml中提供ListView的ID。

如果您要呈現自己的自定義視圖(動畫圓),然后將其添加到活動中,則必須使用addContentView(View view,ViewGroup.LayoutParams params),從而向該活動添加一個附加的內容視圖。 在活動中任何現有視圖之后添加-不刪除現有視圖。 這些是參數:view要顯示的所需內容。 params視圖的布局參數。

但是執行此操作的正確方法(當然取決於要加載的數據量)是使用AsyncTask wich,它可以正確輕松地使用UI線程。 此類允許執行后台操作並在UI線程上發布結果,而無需操縱線程和/或處理程序。 異步任務由在后台線程上運行的計算定義,並且其結果發布在UI線程上。 異步任務由3個通用類型(稱為Params,Progress和Result)以及4個步驟(稱為onPreExecute,doInBackground,onProgressUpdate和onPostExecute)定義。 例如,您可以在onPreExecute方法上調用一個進度對話框(用作等待圈),並在doInBackground方法中列出文件。 祝好運!!!!

是的,這很容易做到。

創建一個布局xml,就像執行普通活動一樣,並在此活動中使用android:id=@android:id/list創建一個空的listview。

啟動ListActivity時,將ContentView設置為自定義布局。 ListActivity將自動找到ID為android:id/list的listView,並將該listview用於所有與列表相關的功能。

來自ListActivity的相關文本:

ListActivity具有默認布局,該布局由位於屏幕中央的單個全屏列表組成。 但是,如果需要,可以通過使用onCreate()中的setContentView()設置自己的視圖布局來自定義屏幕布局。 為此,您自己的視圖必須包含ID為“ @android:id / list”(或列表,如果在代碼中,則為List)的ListView對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM