我已经在操作栏上为Android应用创建了一个联系我们表单,我已将其添加到我的应用程序中,它打开并且看起来非常好。我唯一无法找到的是如何设置onClickListner
提交按钮,以便在点击提交按钮后,表单中的消息应直接发送到我的电子邮件收件箱。请帮忙,以下是我的代码。
menu_main.xml
<item
android:id="@+id/contact_us"
android:title="Contact us"
android:showAsAction="ifRoom"
android:icon="@drawable/contact_us"
/>
联系布局
contact_us.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/contact_form_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:layout_marginTop="5dp"
android:text="contact us"
android:textColor="#000000"
android:textSize="20sp"
android:typeface="serif" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimaryDark"
android:hint="name"
android:inputType="textPersonName" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:backgroundTint="@color/colorPrimaryDark"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimaryDark"
android:hint="phone number"
android:inputType="phone" />
<EditText
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:backgroundTint="@color/colorPrimaryDark"
android:gravity="top"
android:hint="your Message"
android:fitsSystemWindows="true"
android:breakStrategy="balanced"
android:inputType="textMultiLine"
android:singleLine="false"
android:padding="5dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@color/colorPrimaryDark"
android:elevation="4dp"
android:paddingLeft="70dp"
android:paddingRight="70dp"
android:text="Submit"
android:textColor="#fff" />
</LinearLayout>
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.contact_us: {
setContentView(R.layout.contact_us);
return true;
}
}
return super.onOptionsItemSelected(item);
答案 0 :(得分:0)
您可以尝试从XML添加onClick:
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="clickEvent"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="clickEvent"
android:text="Button 2" />
然后转到主要活动:
public void clickEvent(View v) {
if (v.getId() == R.id.button1) {
Toast.makeText(MainActivity.this, "you click on button 1",
Toast.LENGTH_SHORT).show();
}
if (v.getId() == R.id.button2) {
Toast.makeText(MainActivity.this, "you click on button 2",
Toast.LENGTH_SHORT).show();
}
}
答案 1 :(得分:0)
在onCreate方法的MainActivity中添加此代码:
final Button item = (Button) findViewById(R.id.btn);
item.setOnClickListener(new OnClickListener() {
@Override
public void onClick() {
}
});
此代码指向xml文档中的Button属性:
android:id="@+id/btn"
答案 2 :(得分:0)
通过将android:id="@+id/submit_button
添加到xml文档中的Button标记,为您的按钮分配ID。
然后,在您的活动的onCreate方法中,添加以下代码
Button submitButton = (Button) findViewById(R.id.submit_button);
submitButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick() {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
intent.putExtra(Intent.EXTRA_TEXT , "body of email");
try {
startActivity(Intent.createChooser(intent, "Send mail"));
} catch (android.content.ActivityNotFoundException e) {
Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
}
});
毋庸置疑,请根据您的需要更换身份,主题和身体。
希望有所帮助