2016-03-02 109 views
0

我一直在嘗試使用Intent和onClick切換視圖。當我點擊按鈕時,我的應用程序崩潰。我瀏覽過這裏提到的類似問題,但似乎沒有一個適用於我所擁有的問題。無論如何,我想知道是否有人可以給我一個模糊的提示,說明我的代碼有什麼問題。使用intent切換視圖(android studio)

按鈕XML:

<Button 
    android:id="@+id/shapes" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SHAPES" 
    android:textSize="16dp" 
    android:paddingBottom="20dp" 
    android:paddingTop="20dp" 
    android:paddingLeft="25dp" 
    android:paddingRight="25dp" 
    android:layout_marginTop="30dp" 
    android:layout_below="@+id/textView" 
    android:layout_centerHorizontal="true" 
    android:onClick="onShapes"/> 

當點擊按鈕啓動Shapes.class(來自MainActivity):

public void onShapes(View view) { 
    Intent startShapes = new Intent(getApplicationContext(), Shapes.class); 
    startActivity(startShapes); 
} 

Shapes.class,集查看到content_shapes:

package com.example.******.****.buttonns; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import com.example.******.****.R; 

public class Shapes extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.content_shapes); 
    } 
} 

content_shapes(按下按鈕時我想查看的視圖):

<?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.*******.*****.buttonns.Shapes"> 

    <TextView 
     android:text="Helloooo" 
     android:gravity="center" 
     android:textSize="32dp" 
     android:layout_marginTop="30dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/Shapes_text" /> 

</RelativeLayout> 

,我也把這個在清單:

<activity 
     android:name=".buttonns.Shapes" 
     android:label="@string/title_activity_shapes" 
     android:parentActivityName=".MainActivity" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.********.*****.MainActivity" /> 
    </activity> 

我一直在努力,現在找出了幾個小時的故障。 順便說一下,我是一個Java,XML和Android Studio的總noob,所以如果我忘記了一些微不足道的東西,就不會恨我。

+1

什麼錯誤?在哪一行? – Talha

+0

它應該做什麼,它目前在做什麼? – Shark

+0

而不是Intent startShapes = new Intent(getApplicationContext(),Shapes.class);嘗試Intent startShapes = new Intent(MainActivity.this,Shapes.class);請發佈應用程序崩潰時收到的錯誤。 –

回答

4

使用本:

Intent startShapes = new Intent(MainActivity.this, Shapes.class); 
startActivity(startShapes); 

,而不是這樣的:

Intent startShapes = new Intent(getApplicationContext(), Shapes.class); 
startActivity(startShapes);