Android以编程方式设置button文本

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

事情是我不是从主布局(setContentView)调用这个我打电话在一个视图多数民众赞成膨胀后exceptioninheritance人我试过,但这是给第二行空指针exception

Button mButton=(Button)findViewById(R.id.contact); mButton.setText("number"); 

inheritance人我的布局,我打电话button

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

这里我的观点我膨胀

 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); 

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

 Button mButton = (Button)your_view_object.findViewById(R.id.contact); mButton.setText("number"); 

当您尝试识别除您的活动的布局以外的视图时,您必须像这样传递该视图的引用。 如果不是,Android将继续从你在setContentView()提供的布局中寻找这个元素。

例如,考虑你膨胀了这样的观点:

 View View = mInflater.inflate(R.layout.gridelement, null); 

然后使用这个视图的对象来存在于这个膨胀的布局中的Button:

  Button mButton = (Button)View.findViewById(R.id.contact); 

你的mButton是null.so NPE。你在setContentView之后引用了xml资源

 onCreate(){ ... setContentView(R.layout.yourlayout); Button mButton=(Button)findViewById(R.id.contact); mButton.setText("number"); } 

将您的代码更改为:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);//set layout here in which u have add contact in xml Button mButton=(Button)findViewById(R.id.contact); mButton.setText("number"); 

编辑:你的\ res \ layout \ main.xml看起来像:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <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"/> </LinearLayout> 

检查R.java文件的导入语句

你确定你有导入它的项目你使用..只是格式化你的布局(.xml)文件保存它,然后再次键入相同的语句