簡體   English   中英

我的 activity_main.xml 沒有顯示我的聯系人

[英]My activity_main.xml is not showing my contacts

在我的 MainActivity class 的 Android Studio 布局文件中,有一個布局用於顯示我的聯系人,但它不再起作用。

這是布局顯示的方式:

activity_main.xml

這是模擬器中顯示的內容(注意:我已經添加了聯系人)。

結果

我不確定它是否與布局、MainActivity 本身或清單有關。

假定在按鈕下方顯示聯系人的onCreate代碼:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);

ContactModel dummy = new ContactModel();
dummy.setName("foo");
dummy.setNumber("123");
arrayList.add(dummy);

adapter = new MainAdapter(this, arrayList);
recyclerView.setAdapter(adapter);

Button add_btn = findViewById(R.id.add_btn);

add_btn.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, Add_Contact.class)));

Button rem_btn = findViewById(R.id.rem_btn);

rem_btn.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, Main_Remove_Contact.class)));
}

這就是我的ContactModel樣子:

package com.app.wolfix;

public class ContactModel {
    String name, number;

    public String getName(){
        return name;
    }

    public void setName(String name) { this.name = name; }

    public String getNumber() { return number; }

    public void setNumber(String number) { this.number = number; }
}

請不要猶豫,詢問任何必要的代碼,如有必要,我會編輯問題。

提前致謝!

這里有一些錯誤(在問題的原始版本中):

  • 您實際上從未創建過適配器的實例
  • 你從未將它分配給 RecyclerView
  • 您從未向arrayList添加任何數據
  • 您永遠不會為 RecyclerView 設置布局管理器。

把所有這些放在一起,下面的onCreate對我有用,你的例子在列表中顯示虛擬項目。 您仍需要在其中某處添加用於填充arrayList的實際代碼。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RecyclerView recyclerView = findViewById(R.id.recycler_view);

    ContactModel dummy = new ContactModel();
    dummy.setName("foo");
    dummy.setNumber("123");
    arrayList.add(dummy);

    adapter = new MainAdapter(this, arrayList);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setAdapter(adapter);

    // in your code, you could call something here to populate
    // arrayList with real values
}

暫無
暫無

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

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