Я учусь создавать приложения для 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>
Затем у меня есть второе действие 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?), Он читает package 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
android-intent
android-activity
Генри Аспден
источник
источник
Ответы:
Вы можете перейти к желаемому действию, нажав кнопку. просто добавьте эту строку.
android:onClick="sendMessage"
xml:
В своей основной деятельности просто добавьте этот метод:
И самое главное: не забудьте определить свою активность в
manifest.xml
источник
>
в тег активностиView
,Intent
а также название активности в красном цвете. Мне нужно что-нибудь импортировать для просмотра?android:onClick="sendMessage"
Попробуй это
источник
Из мероприятия: где вы сейчас находитесь?
To Activity: куда вы хотите пойти?
Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);
Оба Activity должны быть включены в файл манифеста, иначе он не найдет файл класса и закроет Force.
Отредактируйте свой Mainactivity.java
сейчас Напишите код для события клика.
Надеюсь, это сработает для вас.
источник
Ответ для полного нуба от полного нуба:
MainActivity
это название первого действия.MainActivity2
это название второго действия.button1
- это идентификатор кнопки в xml дляMainActivity
Activity.источник
просто следуйте этому шагу (я не пишу код, просто Bcoz, вы можете копировать и вставлять и не можете учиться) ..
сначала вам нужно объявить кнопку, которая у вас есть в макете
Дайте ссылку на эту кнопку, найдя ее идентификатор (используя findviewById) в oncreate
setlistener для кнопки (например, setonclick listener)
последний обрабатывает событие щелчка (означает запуск нового действия с использованием намерения, как вы уже знаете)
Не забудьте добавить активность в файл манифеста
Кстати, это просто, я хотел бы предложить вам, что вам будет лучше начать с простых руководств, доступных в сети ..
Удачи на Android
источник
Замените приведенный ниже код строки:
Добавьте следующие строки в свой файл манифеста:
источник
Замените свой MainActivity.class этим кодом
Добавьте этот код в свои
AndroidManifest.xml
после</activity>
и до</application>
источник
Это всегда работает, либо одно должно быть в порядке:
источник
добавьте ниже код в файл activity_main.xml:
и просто добавьте следующий метод в файл MainActivity.java:
источник
Если у вас есть две кнопки и один и тот же идентификатор вызова для событий нажатия кнопки, например:
Когда вы нажали
button1
,button2
будет работать, и вы не сможете открыть вторую активность.источник
В КОДЕ JAVA
}
источник
Вы можете перейти к желаемому действию, нажав кнопку. просто добавьте
эту строку android: onClick = "timerApp".
В своей основной деятельности просто добавьте этот метод:
ИЛИ в методе onCreate () добавьте ниже код
источник