第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用數(shù)據(jù)庫(kù)值設(shè)置 TextView

使用數(shù)據(jù)庫(kù)值設(shè)置 TextView

ITMISS 2022-07-06 17:17:30
為具有給定字符串和數(shù)據(jù)庫(kù)中的某些值的文本視圖設(shè)置文本的最佳做法是什么?我的主要活動(dòng):MyModel model;TextView title = (TextView) findViewById(R.id.tvTitle);title.setText("Username: ", model.getName());我的模特private String name;public String getName() {    return name;}到目前為止我找不到解決方案。
查看完整描述

3 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

方法setText()有幾個(gè)簽名,但您需要的是:

public final void setText(CharSequence 文本)

所以你可以這樣做:

title.setText("Username: " + model.getName());

但是AS通常在這些情況下抱怨你應(yīng)該避免在里面連接字符串setText(),
所以你可以做的是:

String str = "Username: " + model.getName();
title.setText(str);

您還應(yīng)該考慮將文字值存儲(chǔ)"Username: "在以下資源中:

<string name="username">Username:</string>

并像這樣使用它:

String str = getResources().getString(R.string.username) + model.getName();
title.setText(str);


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

創(chuàng)建 getter 和 setter 是一種很好的做法,您可以在為模型定義變量后在 Android Studio 中自動(dòng)生成它們。除此之外,我不知道為什么在你getName()的方法中想要返回一個(gè) long 而你實(shí)際上是在返回一個(gè)字符串。更改long為String


像這樣 :


  public String getName() {

        return mName;

    }


    public void setName(String name) {

        mName = name;

    }


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

其他人所說(shuō)的關(guān)于在 setText 方法之外連接字符串的所有內(nèi)容都是有效的。至于在 Activity 或 Fragment 中的位置(我在此示例中使用 Fragment),我使用以下約定:


在我的方法之外的類主體中聲明我的類字段(用于類范圍的訪問(wèn))


public class MyFragment extends Fragment {


    private TextView titleView;


    public MyFragment() {

    //Constructor

    }

    // and so on ...

}

然后,在 Fragment 膨脹后找到我的 TextView 引用,如果需要立即設(shè)置它的值


// ...

@override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)


    View view = inflater.inflate(R.layout.fragment_container, container, false);


    titleView = view.findViewById(R.id.title);

    String titleStr = "Username: " + model.getName();

    titleView.setText(titleStr);


    return view;

}

// ...

如果我期望有問(wèn)題的數(shù)據(jù)庫(kù)值會(huì)發(fā)生變化(例如,用戶在設(shè)置中更新他們的用戶名),那么我可能還希望使用某些生命周期方法,這些方法會(huì)在 Fragment (或 Activity)在暫停后恢復(fù)時(shí)觸發(fā),但是沒(méi)有完全重建。


// ...

@override

public void onResume() {


    titleStr = "Username: " + model.getName();

    titleView.setText(titleStr);


}

// ...

如果您不熟悉Android Activity 生命周期,這里有一個(gè)鏈接,這里是Fragments的一個(gè)很好的概要。希望這可以幫助。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
  • 3 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)