2016-01-16 95 views
1

對不起,我的英文。Android第二項活動無法加載

我試圖在Android中使用第二個活動,但它沒有加載。這就像代碼跳躍一樣。在下面,你可以看到代碼。謝謝。

1-第一活動

public class MainActivity extends Activity 
{ 

Button button; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    addListenerOnButton(); 


public void addListenerOnButton() { 

    final Context context = this; 

    button = (Button) findViewById(R.id.btenviardados); 

    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      System.out.println("helooo"); 
      Intent intent = new Intent(MainActivity.this, com.example.seven.reader.activity_janela1.class); 

      startActivity(intent); 
      System.out.println("ebadasdadas"); 

     } 

    }); 

} 

2-二活動

public class activity_janela1 extends Activity 

{ 

public void OnCreate(Bundle saveInstaceState) 
{ 
    super.onCreate(saveInstaceState); 
    setContentView(R.layout.activity_janela1); 
    }} 

3-第一佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/linearLayout1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 


<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="I&apos;m screen 1 (main.xml)" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<Button 
    android:id="@+id/btenviardados" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Click me to another screen" /> 

4-二佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/linearLayout1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/layoutFormulario" 
    android:orientation="vertical"> 

</LinearLayout> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Im screen 2 (main2.xml)" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

5 AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.seven.reader" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="10" /> 

<application 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:label="@string/app_name" 
     android:name=".MainActivity" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:label="@string/app_name" 
     android:name="com.example.seven.reader.activity_janela1" > 
    </activity> 
</application> 

</manifest> 

回答

3

您已經創建了自己的OnCreate中的一個方法。刪除它,並將它放在onCreate中。

///public void addListenerOnButton() { 



button = (Button) findViewById(R.id.btenviardados); 

button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     System.out.println("helooo"); 
     Intent intent = new Intent(MainActivity.this, com.example.seven.reader.activity_janela1.class); 

     startActivity(intent); 
     System.out.println("ebadasdadas"); 

    } 

}); 

您誤解了如何使用方法和範圍。我建議你閱讀這些內容。

+0

嗨,我這樣做。但沒有奏效。 –

+0

嗨,我做到了。但沒有工作:/。你可以在我的答案的第一行看到新的代碼。非常感謝! –

+0

@JoãoLucasDouradodoVal使用MainActivity.this,而不是getapplicationcontext,另外,請不要編輯您的原始問題,以提出一個新問題http://meta.stackoverflow.com/questions/290297/how-much-change-to-the-question -is-too-much –

1

問題在於你的方法addListenerOnButton()。
您可以定義一個方法,當通過xml單擊按鈕時,將執行該方法只需添加onClick屬性您已定義您的按鈕。
如: - 在MainActivity.java

<Button 
android:id="@+id/btenviardados" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Click me to another screen" 
android:onClick="click" /> 

,並定義點擊的方法: -

public void click(View view) 
{ 
System.out.println("helooo"); 
Intent intent = new Intent(MainActivity.this, com.example.seven.reader.activity_janela1.class); 

startActivity(intent); 
System.out.println("ebadasdadas"); 
} 

或者你可以在你的onCreate MainActivity的方法添加OnClickListener。

+0

是的,從onclicklistener的oncreate中移除「方法」是兩個最可行的解決方案。 –

0

試試這個,可以幫助你:

public class MainActivity extends Activity 
{ 
Button button; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    button = (Button) findViewById(R.id.btenviardados); 
    button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     System.out.println("helooo"); 
     Intent intent = new Intent(getApplicationContext, activity_janela1.class); 
     startActivity(intent); 
     finish(); 
     System.out.println("ebadasdadas"); 
    } 
    }); 
} 
} 
+1

http://meta.stackoverflow.com/questions/275954/what-to-do-with-duplicated-answers請不要發佈已發佈的答案。 ps我沒有downvote you –

+2

您發佈了@MsYvette已發佈的答案。這不會添加任何新內容。我DVed(BTW) – TheLostMind

相關問題