2013-08-31 14 views
6

Oto mój problem. Skonfigurować przycisk, który po kliknięciu powinien otwierać nowe działanie, ale gdy zostanie kliknięty otrzymuję błąd: niestety „APP_NAME” przestał działać mój logcat mówi: krytyczny wyjątek MainRozpocznij inną działalność, klikając przycisk:

Więc heres mój 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> 

a drugi XML, które im próbuje dotrzeć w innej działalności:

<?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> 

końcu kodu, który obsługuje zarówno:

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; 
    } 
} 

drugi kod działalność:

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); 
    } 
} 

Poniżej dodałem mój android-manifest.xml

<?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> 
+0

[Rozpocznij nową czynność po kliknięciu przycisku] (http://themasterworld.com/in-this-lecture-we-will-see-how-to-start-a-new-activity-ona-a- click-in-the-current-activity /) –

Odpowiedz

17

trzeba wywołać inną działalność podobnego wewnątrz OnClickListener() przycisku

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(); 
     } 
    }); 
+1

, ale zamiast tego użyłem androida: onClick w xml – alaboudi

+0

Ale nie dodałeś argumentów "View v" jako argumentów. public void mondayintent (Zobacz v) {// Twój kod tutaj} – Mothy

+1

Jesteś niesamowity !!!!!!!!!!!!!!!!!!!!!!!!!!!! – alaboudi

3

Prawdopodobnie Twój kod wyświetla błąd z powodu pliku manifestu Androida, spróbuj dodać odpowiednią klasę u człowieka plik ifest. Wykonywanie pierwszej czynności jako głównej i innych jako domyślnych. Część kodu jest dokładnie w porządku.

+0

Dodałem manifest, żebyś to sprawdził ... dziękuję za poświęcenie czasu na obejrzenie tego posta: D – alaboudi

+0

zmień ten wiersz '< action android: name = "com.example.hush.Monday" /> 'to'

Powiązane problemy