有人可以在Android工作室帮助我

时间:2015-08-24 14:37:15

标签: java android android-layout button android-intent

我创建了一个壁纸和铃声应用程序。 壁纸和铃声是2个按钮。

这两个按钮相互打开一个新页面。 在壁纸页面中,我有一个按钮,我想打开一个新页面,但它不起作用。

下面我粘贴了java和android studio的清单。

主要活动java:

public class MainActivity extends AppCompatActivity {

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

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}


public void onButtonClicks(View c) {


    if (c.getId() == R.id.Bdisplay) {
        Intent i = new Intent(MainActivity.this, display.class);
        startActivity(i);
        overridePendingTransition(R.animator.animation1, R.animator.animation2);
    }
}
 public void onClick (View v) {

     if (v.getId() == R.id.Bdisplay) {

         Intent intent = new Intent(MainActivity.this, display.class);
         startActivity(intent);
         overridePendingTransition(R.animator.animation1, R.animator.animation2);
     }
 }




public void onButtonClick(View x) {


    if (x.getId() == R.id.Bdisplay) {
        Intent i = new Intent(MainActivity.this, ringtone.class);
        startActivity(i);
        overridePendingTransition(R.animator.animation1, R.animator.animation2);
    }

}

铃声java代码:

import android.app.Activity;
import android.os.Bundle;

public class ringtone extends Activity {

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

}

display(the name for wallpapers) java code:


import android.app.Activity;
import android.os.Bundle;

public class display extends Activity
{


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

  }
}

新页面的java代码:

import android.app.Activity;
import android.os.Bundle;

public class newpage extends Activity {

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


  }
}

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".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=".display"></activity>
    <activity android:name=".ringtone"></activity>
    <activity android:name=".newpage"></activity>




</application>

</manifest>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我有一些建议:

  • 始终使用大写字母和camelcase命名活动:NewPage而不是newpage和Ringtone而不是铃声。这可以帮助您处理变量/活动&amp;方法识别。
  • 调用OnClick方法使用显式方式。

这样做:

SELECT mr.asofdate AS date, 
       mr.fa, 
       mr.tpnl     AS tpnl, 
       mr.mpnl     AS mpnl, 
       mrf.tpnl    AS mrfTpnl, 
       mrf.cpnl    AS mrfCpnl 
FROM   vw_daily mr 
       FULL OUTER JOIN mrfeeddaily mrf 
                    ON mr.fa = mrf.book 
                       AND mr.asofdate = mrf.asofdate 
                       AND mr.asofdate = '20141121'
是的,你总是打电话给同一个班级,可能这就是为什么它不起作用;)

编辑:要解决问题,请尝试以下方法:

在你的活动中你有两个按钮可以将用户发送到铃声或壁纸。想象一下,他们被称为WallpaperButton和RingtoneButton;在名为MainActivity的活动中,此活动应如下所示:

Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        //do stuffs here
    }
});`

如果用户点击按钮壁纸,在主要活动中使用此代码,他会进入壁纸活动,如果他点击按钮铃声,他会进入铃声活动。

对NewPageActivity执行相同操作。如果您在如何创建&#34; SetOnClickListener&#34;看here for an example

如果您遇到麻烦或问题,请随时询问:)