Start with another action by clicking the button.

So here is my problem. I installed a button that when clicked should open a new activity, but when it is clicked I get an error message: Unfortunately, "app_name" has stopped working; my logcat says: Fatal Exception Main

So here is my xml:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="30dp" android:layout_marginTop="58dp" android:text="Monday" android:textSize="20sp"/> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Tuesday" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Wednesday" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView3" android:layout_below="@+id/textView3" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Thursday" /> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView4" android:layout_below="@+id/textView4" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Friday" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView5" android:layout_below="@+id/textView5" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Saturday" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView6" android:layout_below="@+id/textView6" android:layout_marginTop="30dp" android:textSize="20sp" android:text="Sunday" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_alignParentRight="true" android:layout_marginRight="46dp" android:text="Edit" android:onClick="mondayintent" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView2" android:layout_alignBottom="@+id/textView2" android:layout_alignLeft="@+id/button1" android:text="Edit" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView3" android:layout_alignBottom="@+id/textView3" android:layout_alignLeft="@+id/button2" android:text="Edit" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView4" android:layout_alignBottom="@+id/textView4" android:layout_alignLeft="@+id/button3" android:text="Edit" /> <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView5" android:layout_alignBottom="@+id/textView5" android:layout_alignLeft="@+id/button4" android:text="Edit" /> <Button android:id="@+id/button6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView6" android:layout_alignBottom="@+id/textView6" android:layout_alignLeft="@+id/button5" android:text="Edit" /> <Button android:id="@+id/button7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView7" android:layout_alignBottom="@+id/textView7" android:layout_alignLeft="@+id/button6" android:text="Edit" /> </RelativeLayout> 

and the second Xml, which im is trying to achieve in another activity:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:textSize="40sp" android:text="Monday" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_marginTop="36dp" android:layout_toLeftOf="@+id/textView1" android:ems="3" android:inputType="time" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText1" android:layout_alignBottom="@+id/editText1" android:layout_centerHorizontal="true" android:ems="3" android:inputType="time" > <requestFocus /> </EditText> <Spinner android:id="@+id/profileSelector" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/editText2" android:layout_toRightOf="@+id/textView1" android:ems="3" android:prompt="@string/profile" android:entries="@array/profileSelector"/> </RelativeLayout> 

Finally, a code that supports both:

 package com.example.hush; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.widget.Button; import android.view.View.OnClickListener; public class MainActivity extends Activity { Intent clickedDay; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainlayout); Button mondayEdit=(Button)findViewById(R.id.button1); } public void mondayintent() { clickedDay= new Intent(this,Monday.class); startActivity(clickedDay); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 

second activity code:

 package com.example.hush; import android.app.Activity; import android.os.Bundle; import android.widget.Button; public class Monday extends Activity{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.monday); } } 

Below I added my android-manifest.xml file

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.hush" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.hush.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.hush.Monday" android:label="@string/app_name" > <intent-filter> <action android:name="com.example.hush.Monday" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest> 
+6
source share
2 answers

You need to call another action like this inside the OnClickListener () button

 Button mondayEdit= (Button)findViewById(R.id.button1); mondayEdit.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(main.this, secondActivity.class); startActivity(intent); finish(); } }); 
+17
source

Your code probably shows an error due to the Android manifest file. Try adding the correct class to the manifest file. Creation of the first action, both main and other, by default. The other part of the code is just fine.

+3
source

Source: https://habr.com/ru/post/952881/


All Articles