public class MainActivity extends AppCompatActivity {
//我们需要自己写一个常量作为requestCode,在请求result时传递进去
public static final int REQUEST_CODE_NORMAL = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.Button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
startActivityForResult(new Intent(this,SecondActivity.class),REQUEST_CODE_NORMAL);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_NORMAL) {
//获得Result数据并处理
...
...
}
}
}
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.save);
Button button = (Button) findViewById(R.id.SaveButton);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(this,MainResultActivity.class);
intent.putExtra("content",etContent.getText().toString());
setResult(1,intent);
//发送Result数据给请求方,然后finish()
finish();
}
});
}
}
myButton.setEnabled(false);
7.6.2. 实现 OnClickListener 接口
package cn.netkiller.video;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button buttonVideoView;
private Button buttonSurfaceView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonVideoView = (Button) findViewById(R.id.buttonVideoView);
buttonVideoView.setOnClickListener(this);
buttonSurfaceView = (Button) findViewById(R.id.buttonSurfaceView);
buttonSurfaceView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent;
switch (v.getId()) {
case R.id.buttonVideoView:
startActivity(new Intent(MainActivity.this, VideoViewActivity.class));
break;
case R.id.buttonSurfaceView:
break;
default:
break;
}
}
}
7.6.3. Fragment 中使用 Button
Button buttonWifi = root.findViewById(R.id.buttonWifi);
buttonWifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
ComponentName componentName = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
intent.setComponent(componentName);
ResolveInfo resolveInfo = getActivity().getPackageManager().resolveActivity(intent, 0);
if (resolveInfo != null) {
startActivity(intent);
}
}
});
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:shape="oval"
android:useLevel="false"
tools:ignore="ResourceName">
<solid android:color="#FFa500" />
</shape>
<Button
android:id="@+id/imeButton"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="right"
android:background="@drawable/rond"
android:text="+"
android:textColor="#ffffff"
android:textSize="50dp" />
ImageButton imageButtonSpeak = findViewById(R.id.imageButtonSpeak);
imageButtonSpeak.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
System.out.println("图片按钮 touch 事件");
int action = motionEvent.getAction();
if (action == MotionEvent.ACTION_UP) {
System.out.println("按下了图片按钮。");
} else if (action == MotionEvent.ACTION_DOWN) {
System.out.println("松开了图片按钮。");
} else if (action == MotionEvent.ACTION_MOVE) {
System.out.println("按下并移动了图片按钮。");
}
return false;
}
});