我正在尝试将我的两个Android布局连接起来,并完成这个过程。
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
public void open(View view){
AlertDialog.Builder alb=new AlertDialog.Builder(this);
alb.setMessage("Are You Sure Do You Want This");
alb.setPositiveButton("yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"You Clicked Yes Button",Toast.LENGTH_LONG).show();
}
});
alb.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"You Clicked Yes Button",Toast.LENGTH_LONG).show();
//finish();
}
});
AlertDialog al=alb.create();
al.show();
}
public void clockwise(View view){
ImageView iv=(ImageView) findViewById(R.id.imageView);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.myanimation);
iv.startAnimation(animation);
}
public void zoom(View view){
ImageView iv=(ImageView) findViewById(R.id.imageView);
Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.clockwise);
iv.startAnimation(animation);
}
public void fade(View view){
ImageView iv=(ImageView) findViewById(R.id.imageView);
Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fade);
iv.startAnimation(animation);
}
public void blink(View view){
ImageView iv=(ImageView)findViewById(R.id.imageView);
Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.blink);
iv.startAnimation(animation);
}
public void move(View view){
ImageView iv=(ImageView)findViewById(R.id.imageView);
Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move);
iv.startAnimation(animation);
}
public void slide(View view){
ImageView iv=(ImageView)findViewById(R.id.imageView);
Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide);
iv.startAnimation(animation);
}
public void next(View v){
// setContentView(R.layout.recording);
Intent inent = new Intent(this, RecordActivity.class);
startActivity(inent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
记录活动。Java语言
public class RecordActivity extends Activity {
private MediaRecorder mr;
Button play,record,stop;
private String outputFile=null;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.recording);
play=(Button)findViewById(R.id.button3);
stop=(Button)findViewById(R.id.button2);
record=(Button)findViewById(R.id.button);
stop.setEnabled(false);
play.setEnabled(false);
outputFile= Environment.getExternalStorageDirectory().getAbsolutePath()+"/recording.3gp";
mr=new MediaRecorder();
mr.setAudioSource(MediaRecorder.AudioSource.MIC);
mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mr.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
mr.setOutputFile(outputFile);
}
public void Record(View v){
try{
mr.prepare();
mr.start();
}
catch (Exception e){
e.printStackTrace();
}
record.setEnabled(false);
stop.setEnabled(true);
}
public void stop(View v){
mr.stop();
mr.release();
mr=null;
stop.setEnabled(false);
play.setEnabled(true);
Toast.makeText(getApplicationContext(),"AudioRecorded Sucessfully",Toast.LENGTH_LONG);
}
public void play(View v){
MediaPlayer mp=new MediaPlayer();
try{
mp.setDataSource(outputFile);
mp.prepare();
}
catch (Exception e){
e.printStackTrace();
}
mp.start();
Toast.makeText(getApplicationContext(),"Playing Audio",Toast.LENGTH_LONG);
}
}
content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.admin.alertapplication.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alert Dialog"
android:id="@+id/textView"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Raptor"
android:id="@+id/textView2"
android:textColor="#da644860"
android:textSize="35dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/logo"
android:layout_below="@+id/textView2"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
android:layout_alignRight="@+id/button2"
android:layout_alignEnd="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="zoom"
android:id="@+id/button"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="40dp"
android:onClick="clockwise"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="clockwise"
android:id="@+id/button2"
android:layout_alignTop="@+id/button"
android:layout_centerHorizontal="true"
android:onClick="zoom"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fade"
android:id="@+id/button3"
android:layout_alignTop="@+id/button2"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="fade"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="blink"
android:onClick="blink"
android:id="@+id/button4"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="move"
android:onClick="move"
android:id="@+id/button5"
android:layout_below="@+id/button2"
android:layout_alignRight="@+id/button2"
android:layout_alignEnd="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="slide"
android:onClick="slide"
android:id="@+id/button6"
android:layout_below="@+id/button3"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
android:onClick="next"
android:id="@+id/button61"
android:layout_below="@+id/button4"
android:layout_alignRight="@+id/button4"
android:layout_alignEnd="@+id/button4" />
</RelativeLayout>
recording.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:weightSum="1">
<TextView
android:layout_width="234dp"
android:layout_height="112dp"
android:text="Android Audio Recording"
android:id="@+id/textView3"
android:layout_gravity="center_horizontal"
android:textSize="30dp"
android:textColor="#d50c0c"
android:layout_weight="0.01" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="86dp"
android:id="@+id/imageView2"
android:src="@drawable/logo"
android:layout_gravity="center_horizontal"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Record"
android:id="@+id/button7"
android:layout_below="@+id/imageView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="59dp"
android:onClick="Record"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop"
android:id="@+id/button8"
android:layout_alignTop="@+id/button"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:onClick="stop"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="play"
android:id="@+id/button9"
android:layout_alignTop="@+id/button8"
android:layout_alignRight="@+id/textView3"
android:layout_alignEnd="@+id/textView3"
android:layout_gravity="right"
android:onClick="play"
/>
</LinearLayout>
AndroidManifest。xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.admin.alertapplication">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".RecordActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
</application>
</manifest>
堆栈跟踪04-22 14:24:09.415 4470-4470/andler.java:102E/AndroidRuntime: FATAL EXCEPTION: main Process:android.os., PID: 4470ooper.loopRuntimeException:无法启动活动ComponentInfo{ooper.java:135}:android.app.NullPointerException:尝试调用虚方法'空hread.mainBhread.java:5254启用(boolean)'在java.lang.reflect.ActivityT启动活动(ActivityTjava.lang.reflect.)在ethod.invokeActivityT启动活动(ActivityTcom.android.internal.os.)在android.app.ActivityThread.access800美元(ActivityThread.java:151)在android.app.ActivityThread$H. handleMessage(ActivityThread.java:1303)在android.os.Handler.dispatch消息(Hcom.example.admin.alertapplication)在com.example.admin.alertapplicationLjava.lang.(Lcom.example.admin.alertapplication/com.example.admin.alertapplication.RecordActivity)在java.lang.ActivityTandroid.widget.(ActivityTutton.set)在android.app.Mhread.perform(本机方法)在hread.java:2325Mandroid.app.(Mhread.handle)在hread.java:2387ZygoteInit$MEodAndArgsCaller. run(ZygoteInit. java: 903)在在com. example. admin. alertApplication的空对象引用上的Button. setEnable(boolean)'。在android. app. Activity. performCreate(Activity. java: 27)在android. app. Instrumentation. call ActivityOnCreate(Instrumentation. java: 1106)在android. app. ActivityThread. performLaunchActive(ActivityThread. java: 2278)在android. app. ActivityThread. handleLaunchActive(ActivityThread. java: 2387)
我正在使用上面的代码来链接两个布局,当单击next按钮时,next()函数将在应用程序停止后调用。为什么会发生这种情况?有人能帮我解决这个问题吗
原因在于这一行中的记录活动(RecordActivity)播放=(Button)findViewById(R.id.button3)
=
问题内容: 我有两个完成。我想做以下情形:如果第一个Completable到达onComplete,则继续第二个Completable。最终结果将是第二完成的onComplete。 当我有单个 getUserIdAlreadySavedInDevice() 和Completable login() 时,这就是我的方法: 问题答案: 您正在寻找运营商。 返回一个Completable,它首先运行此C
这是我的一个货车租赁数据库的起始代码。 如何将汽车链接到该位置。例如,CBD的位置有Wicked,Zepplin和Floyd,Penrith有Queen。因此,如果命令行参数具有“打印CBD”,那么它必须显示CBD中可用的货车。 任何帮助将不胜感激。
我们已经为网站的布局定义了看起来不错的样式,下面要把链接中使用的占位符 # 换成真正的链接地址。当然,我们可以像下面这样硬编码链接: <a href="/static_pages/about">About</a> 不过这样不太符合 Rails 之道。一者,“关于”页面的地址如果是 /about 而不是 /static_pages/about 就好了;再者,Rails 习惯使用具名路由指定链接地址
我有两个完整的。我想做以下场景:如果第一个Completable到达onComplete,继续第二个Completable。最终结果将是完成第二个可完成项。 这就是我在使用单getUserIdAlreadySavedInDevice()和Compltable login()时的做法:
如何配置allure jenkins插件的发布链接? 全局jenkins设置中只有“默认结果目录”和“默认报告版本”设置。 测试后allure报告正常生成,但发布链接断开。
问题内容: 我有几个Docker容器,还有一个特例,其中两个必须互相交谈,因此它们必须通过链接最多彼此了解。我可以将一个容器链接到另一个容器,但是问题是,我不能告诉他们第二个容器可以与第一个容器对话。 我尝试创建并运行第一个容器并将其停止,然后创建了第二个容器并同时将其停止。接下来,我再次启动了第一个容器并链接到第二个容器,并启动了第二个容器并链接到第一个容器。此后,我的机器发疯了,docker进