我的活动上有两个按钮。一个是完美的,一个不是。我似乎无法找到问题。这是代码。 create_profile 按钮无效。有人可以告诉我为什么吗?
private Button create_profile,select_contact;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_main);
select_contact = (Button)findViewById(R.id.add_contact);
create_profile = (Button)findViewById(R.id.create_button);
select_contact.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final Uri uriContact = ContactsContract.Contacts.CONTENT_URI;
Intent intentPickContact = new Intent(Intent.ACTION_PICK, uriContact);
startActivityForResult(intentPickContact, PICK_CONTACT);
}
});
create_profile.setOnClickListener(new OnClickListener() {
@SuppressLint("ShowToast")
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(), "Pressed", Toast.LENGTH_LONG);
System.out.println("PRessed");
}
});
}
这是xml代码
<Button
android:id="@+id/add_contact"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:text="Add"
android:layout_marginLeft="5dp"
android:layout_marginRight="2dp"
android:textSize="19dp"/>
<Button
android:id="@+id/create_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Create Profile"
android:textSize="18sp"
android:layout_marginTop="8dp"/>
我检查了一切,但似乎无法找到问题。
答案 0 :(得分:6)
你好,为什么不露面。托盘代码应该是这样的。
Toast.makeText(getApplicationContext(), "Pressed", Toast.LENGTH_LONG).show();
答案 1 :(得分:0)
您可以尝试创建一个OnClickListener变量,然后将两个按钮设置为同一个变量,并将它们与switch case语句分开,如下所示:
OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.add_contact:
//Do what you want for select_contact
break;
case R.id.create_button:
//Do what you want for create_button
break;
default:
break;
}
}
};
在OnCreate方法中,设置如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
select_contact = (Button)findViewById(R.id.add_contact);
create_profile = (Button)findViewById(R.id.create_button);
select_contact .setOnClickListener(onClickListener);
create_profile .setOnClickListener(onClickListener);
}
如果你想检查它,只需在案例R.id.create_button
行下添加一个断点即使这没有解决您的问题,我相信使用onClickListener方法更方便,更舒适地工作:)