2013-06-24 63 views
-4

我是新来的android,当我点击按钮没有任何反应。所以请帮助摆脱这个问题。提前致谢。单击按钮时出现错误android

MainActivity.java

import android.app.Activity; 
import android.graphics.PixelFormat; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.Button; 

public class MainActivity extends Activity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getWindow().setFormat(PixelFormat.TRANSLUCENT); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.activity_main); 
     Button btn = (Button)findViewById(R.id.hom_sel_enter_btn); 
     btn.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       setContentView(R.layout.menu_selection_layout); 
      } 
     }); 
    } 
} 


activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" android:background="@drawable/loadingscreen"> 
     <RelativeLayout> 
      android:id="@+id/InnerRelativeLayout" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" > 
      <Button> 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/hom_sel_enter_btn" 
       android:layout_gravity="center_horizontal" 
       android:soundEffectsEnabled="true" 
       android:background="@drawable/ent_sel_bn" > 
      </Button> 
     </RelativeLayout> 
    </RelativeLayout> 


app_menu_sel.java 进口android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

public class app_menu_sel extends Activity{ 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menu_selection_layout); 
     Button btn1 = (Button)findViewById(R.id.hom_but_selection_top); 
     btn1.setOnClickListener(btnListener); 
    } 

    private OnClickListener btnListener = new OnClickListener() { 
     public void onClick(View v) { 
      setContentView(R.layout.activity_main); 
     } 
    }; 
} 


menu_selection_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout> 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <Button> 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:id="@+id/hom_but_selection_top" 
      android:clickable="true" 
      android:background="@drawable/home"> 
     </Button> 
    </LinearLayout> 
</LinearLayout> 


清单

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

    <application> 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity> 
      android:name="com.example.display.MainActivity" 
      android:label="@string/app_name" 
      android:screenOrientation = "portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity android:name="com.example.display.app_menu_sel" 
      android:label="@string/app_menu_sel" 
     android:screenOrientation = "portrait"> 
     </activity> 
    </application> 
</manifest> 
+0

当你说什么都没有发生,它会崩溃,冻结,或什么都没有? – codeMagic

+0

设置你的java代码的格式,如果发生崩溃,请发布stacktrace。您是否调试过代码,并通过调试器或日志语句查看代码是否到达您的侦听器。 – Thalaivar

+0

MainActivity.java中的@codeMagic按钮正在工作,但app_menu_sel.java中的按钮不起作用 –

回答

4

代码替换

public class MainActivity extends Activity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getWindow().setFormat(PixelFormat.TRANSLUCENT); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.activity_main); 
     Button btn = (Button) findViewById(R.id.hom_sel_enter_btn); 
     btn.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       startActivity(new Intent(getApplicationContext(), app_menu_sel.class)); 
      } 
     }); 
    } 
} 

而且

public class app_menu_sel extends Activity{ 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menu_selection_layout); 
     Button btn1 = (Button)findViewById(R.id.hom_but_selection_top); 
     btn1.setOnClickListener(btnListener); 
    } 

    private OnClickListener btnListener = new OnClickListener() { 
     public void onClick(View v) { 
      startActivity(new Intent(getApplicationContext(), MainActivity.class)); 
     } 
    }; 
} 

让我知道结果。

0

调用的setContentView()多个时间s不推荐。在同一个活动的布局之间进行切换的正常 的方法是使用一个 ViewFlipper或FrameLayout里(请参见调用的setContentView()多 次,我怎么能在Android中进行动态翻转屏(类似的 iPhone))

或者,您可以使用ViewSwitcher,这似乎适合您的 需求相当不错。有可用的好详细的教程在 http://inphamousdevelopment.wordpress.com/2010/10/11/using-a-viewswitcher-in-your-android-xml-layouts/

相关问题