Android以编程方式设置按钮文本

Luk*_*ley 12 android button

有谁知道如何以编程方式设置按钮的文本?

事情是我不是从主布局(setContentView)调用它我在一个视图中调用它在asynctask heres之后膨胀我试过但这是在第二行给出一个空指针异常

Button mButton=(Button)findViewById(R.id.contact);
        mButton.setText("number");
Run Code Online (Sandbox Code Playgroud)

继承我的布局,我在呼叫按钮

   <Button
       android:id="@+id/contact"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/address"
       android:layout_toLeftOf="@+id/badge"
       android:background="@drawable/ic_btn_call"
       android:textSize="10dp"
       android:textStyle="bold"
       android:textColor="@color/white"/>
Run Code Online (Sandbox Code Playgroud)

在这里我的观点我正在膨胀

ClubInfo = LayoutInflater.from(getBaseContext()).inflate(R.layout.clubinfocell,
                null);

        TextView TeamNameText = (TextView) ClubInfo.findViewById(R.id.TeamName);
        TeamNameText.setText(teamName);

        TextView AddressText = (TextView) ClubInfo.findViewById(R.id.address);
        AddressText.setText(address1);



        Button mButton=(Button)ClubInfo.findViewById(R.id.contact);
        mButton.setText(telephone);
Run Code Online (Sandbox Code Playgroud)

And*_*lva 27

然后使用视图的对象初始化它:

Button mButton = (Button)your_view_object.findViewById(R.id.contact);
mButton.setText("number");
Run Code Online (Sandbox Code Playgroud)

当您尝试识别除Activity的布局之外的视图时,您必须像这样传递该视图的引用.如果不是Android,将继续从您在中提供的布局中查找此元素setContentView().

例如,考虑您已经夸大了这样的视图:

View View = mInflater.inflate(R.layout.gridelement, null);
Run Code Online (Sandbox Code Playgroud)

然后将此View的对象用于该膨胀布局中的Button:

  Button mButton = (Button)View.findViewById(R.id.contact);
Run Code Online (Sandbox Code Playgroud)