私はAndroidアプリケーションを構築することを学んでいます、そして私はいくらかの特別な助けが必要です。テンプレートコードのどの部分を変更する必要があるのか、どのビットが静的であるのかを理解することはできません。
LAYOUTフォルダにACTIVITY_MAIN.XMLがあります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal">
<Button
Android:id="@+id/button1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="@string/main_buttons_photos" />
</LinearLayout>
次に、2番目のアクティビティがありますACTIVITY_SEND_PHOTOS.XMLこれは
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_centerVertical="true"
Android:text="@string/hello_world"
tools:context=".SendPhotos" />
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_alignParentTop="true"
Android:text="@string/title_activity_send_photos"
Android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
それから私はMainActivity.Java(これは.classですか?)を持っていますこれはパッケージcom.example.assent.bcを読みます。
import Android.os.Bundle;
import Android.app.Activity;
import Android.view.Menu;
import Android.view.View;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
// Do something in response to button
}
}
それから私のSendPhotos.Javaファイルです。
package com.example.assent.bc;
import Android.os.Bundle;
import Android.app.Activity;
import Android.view.Menu;
import Android.view.MenuItem;
import Android.support.v4.app.NavUtils;
public class SendPhotos extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_photos);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_send_photos, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
メインアクティビティのボタンを自分のsendphotosアクティビティにリンクして、そのアクティビティを開くだけで、空想はしないで、データやその他のものを送信しないでください。
私はどこかに私が私を必要としていることを知っています
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
しかし、何をToActivity.classに置き換えるのか、それ以外に何が必要なのかわかりません。
ボタンをクリックすると、希望のアクティビティに移動できます。 Android:onClick="sendMessage"
この行を追加するだけです。
xml:
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:onClick="sendMessage"
Android:text="@string/button" />
あなたの主な活動では、このメソッドを追加するだけです:
public void sendMessage(View view)
{
Intent intent = new Intent(FromActivity.this, ToActivity.class);
startActivity(intent);
}
そして最も重要なこと:あなたの活動をmanifest.xml
で定義することを忘れないでください
<activity
Android:name=".ToActivity"
Android:label="@string/app_name">
</activity>
これを試して
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(),SendPhotos.class);
startActivity(i);
}
});
}
活動から:あなたは現在どこにいますか?
アクティビティへ:どこに行きたいですか?
Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);
両方のActivityをマニフェストファイルに含める必要があります。そうしないと、クラスファイルが見つからず、強制終了します。
Mainactivity.Javaを編集します。
crate button's object;
クリックイベントのコードを書く。
Button btn = (button)findViewById(R.id.button1);
btn.LoginButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//put your intent code here
}
});
それがあなたのために働くことを願っています。
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(MainActivity.this, MainActivity2.class);
MainActivity.this.startActivity(myIntent);
}
});
コンプリートノブからのコンプリートノブの答え:MainActivity
は、最初のアクティビティの名前です。 MainActivity2
は2番目のアクティビティの名前です。 button1
は、MainActivity
アクティビティのxml内のボタンのIDです。
この手順に従ってください(私はBcozだけでコードを書いているのではなく、コピーして貼り付けて学習することはできません)。
まず第一にあなたはレイアウトにあるボタンを宣言する必要があります。
Oncreateで(findviewByIdを使用して)そのIDを見つけることによってそのボタンへの参照を与えます
ボタンのsetlistener(setonclickリスナーのように)
クリックイベントを最後に処理します(既にご存知のとおり、意図を使用して新しいアクティビティを開始します)。
マニフェストファイルにアクティビティを追加することを忘れないでください
ところでこれはちょうど簡単です私はちょうどネット上で利用可能な簡単なチュートリアルから始めることをあなたにお勧めしたいと思います。
Androidのための最高の運
以下の行コードを置き換えます。
import Android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener{
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button1);
button.setOnClickListener(this);
}
public void onClick(View v) {
if(v.getId==R.id.button1){
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
}
}
}
マニフェストファイルに以下の行を追加します。
<activity Android:name="com.packagename.FromActivity"></activity>
<activity Android:name="com.packagename.ToActivity"></activity>
MainActivity.classをこれらのコードに置き換えます
public class MainActivity extends Activity {
Button b1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new View.onClickListener()
{
public void onClick(View v)
{
Intent i=new Intent(getApplicationContext(),SendPhotos.class);
startActivity(i);
}
}
)
}
これらのコードを追加してくださいAndroidManifest.xml
の後</activity>
の後と</application>
の前
<activity Android:name=".SendPhotos"></activity>
これは常に機能します。どちらでもかまいません。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick (View v) {
startActivity(new Intent("com.tobidae.Activity1"));
}
//** OR you can just use the one down here instead, both work either way
@Override
public void onClick (View v){
Intent i = new Intent(getApplicationContext(), ChemistryActivity.class);
startActivity(i);
}
}
}
activity_main.xmlファイルに以下のコードを追加します。
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:onClick="buttonClick"
Android:text="@string/button" />
そして、MainActivity.Javaファイルに以下のメソッドを追加するだけです。
public void buttonClick(View view){
Intent i = new Intent(getApplicationContext()SendPhotos.class);
startActivity(i);
}
<Button
Android:id="@+id/btnSignIn"
Android:layout_width="250dp"
Android:layout_height="40dp"
Android:layout_marginEnd="8dp"
Android:layout_marginLeft="8dp"
Android:layout_marginRight="8dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="16dp"
Android:background="@drawable/circal"
Android:text="Sign in"
Android:textColor="@color/white"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etPasswordLogin" />
Javaコードで
Button signIn= (Button) findViewById(R.id.btnSignIn);
signIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SignInPage.this,MainActivity.class));
}
});
}
2つのボタンがあり、同じIDがボタンクリックイベントを次のように呼び出すとします。
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1= (Button)findViewById(R.id.button1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,target.class);
startActivity(intent);
}
});
btn2=(Button) findViewById(R.id.button1);//Have same id call previous button---> button1
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
button1
をクリックすると、button2
が機能し、2番目のアクティビティを開くことができなくなります。
あなたはボタンをクリックして目的の活動に移動することができます。追加するだけ
Android:onClick = "timerApp"この行。
xml:
<Button
Android:id="@+id/timer_app"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:onClick="timerApp"
Android:text="Click To run Timer Activity" />
In your main activity just add this method:
public void timerApp(View view){
Intent intent= new Intent(MainActivity.this,TimerActivity.class);
startActivity(intent);
}
またはonCreate()メソッドで以下のコードを追加
Button btn =findViewById(R.id.timer_app);//Don't need to type casting in Android studio 3
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, TimerActivity.class);
startActivity(intent);
}
});