Ich versuche, meine zwei Android-Layout zu verknüpfen und den Prozess zu machen.Link zwei Layouts in 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);
}
}
RecordActivity.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>
Stapelüberwachung 04-22 14: 24: 09.415 4470-4470/com.example.admin. alertapplication E/AndroidRuntime: FATALE AUSNAHME: Haupt Prozess: com.example.admin.alertapplication, PID: 4470 java.lang.RuntimeException: Aktivität kann nicht gestartet werden ComponentInfo {com.beispiel.admin.alertapplication/com.beispiel.admin.alertapplication.RecordActivity}: java.lang.NullPointerException: Versuch, virtuelle Methode 'void android.widget.Button aufzurufen. setEnabled (boolean)‘auf null Objektreferenz bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2325) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2387) bei android.app.ActivityThread. Zugriff auf $ 800 (ActivityThread.java:151) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1303) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os .Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5254) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect. Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 698) verursacht durch: java.lang.NullPointerException: Es wurde versucht, die virtuelle Methode 'void android.widget.Button.setEnabled (boolean)' für eine Nullobjekt-Referenz unter com.example.admin.alertapplication.RecordActivity.onCreate (RecordActivity .java: 27) bei android.app.Activity.performCreate (Activity.java:5990) bei android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1106) bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2278) bei Android .app.ActivityThread.handleLaunchActivity (ActivityThread.java:2387) bei android.app.ActivityThread.access $ 800 (ActivityThread.java:151) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1303) bei android.os.Handler.dispatchMessage (Handler.java: 102) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread.main (ActivityThread.java:5254) bei java.lang.reflect.Method.invoke (Native Methode) bei java.lang.reflect.Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) bei com.android.internal.os .ZygoteInit.main (ZygoteInit.java:698)
ich den obigen Code verwenden, um für die Verknüpfung der beiden Layouts, wenn wurde neben Schaltfläche geklickt next() Funktion wird nach der Anwendung Leider aufgerufen hat gestoppt, warum es passiert kann mir helfen, diese
schreiben Sie bitte die stacktrace –
Was d o Sie meinen, indem Sie zwei Layouts verbinden? Kannst du es bitte ausarbeiten? – Wanted
@ PhanVănLinh sehen Sie die Stack-Trace in meiner Frage bearbeitet – KVK