Estou aprendendo a construir aplicativos Android e preciso de ajuda específica. Não consigo entender quais bits de código de modelo devo alterar e quais bits são estáticos.
Na pasta LAYOUT , tenho meu ACTIVITY_MAIN.XML que diz
<?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>
Em seguida, tenho minha segunda atividade ACTIVITY_SEND_PHOTOS.XML que é
<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>
Em seguida, tenho meu MainActivity.java (é este o .class?) Que lê pacote 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
}
}
e então meu arquivo SendPhotos.java que é;
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);
}
}
Gostaria que o botão da minha atividade principal se vinculasse à minha atividade enviar fotos, simplesmente abrindo essa atividade, nada de especial, não enviando nenhum dado nem nada.
Eu sei que em algum lugar eu preciso do meu
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
mas não tenho ideia do que substituir ToActivity.class ou o que mais preciso e onde.
android
android-intent
android-activity
Henry Aspden
fonte
fonte
Respostas:
Você pode ir para a atividade desejada clicando no botão. apenas adicione esta linha.
android:onClick="sendMessage"
xml:
Em sua atividade principal, basta adicionar este método:
E o mais importante: não se esqueça de definir sua atividade em
manifest.xml
fonte
>
a tag de atividadeView
,Intent
e os nomes das atividades estão em vermelho. Eu preciso importar algo para o View?android:onClick="sendMessage"
Tente isto
fonte
Da atividade: onde você está atualmente?
Para a atividade: para onde você quer ir?
Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);
Ambas as Activity devem ser incluídas no arquivo de manifesto, caso contrário, não encontrará o arquivo de classe e lançará Force close.
Edite seu Mainactivity.java
agora escreva o código para o evento de clique.
Espero que funcione para você.
fonte
A resposta para o noob completo de um noob completo:
MainActivity
é o nome da primeira atividade.MainActivity2
é o nome da segunda atividade.button1
é o ID do botão em xml paraMainActivity
Atividade.fonte
apenas siga esta etapa (não estou escrevendo código apenas Bcoz, você pode copiar e colar e não pode aprender).
primeiro você precisa declarar um botão que você tem no layout
Faça referência a esse botão encontrando seu id (usando findviewById) em oncreate
setlistener para botão (como setonclick listener)
última manipulação do evento de clique (significa iniciar uma nova atividade usando a intenção como você já sabe)
Não se esqueça de adicionar atividade no arquivo de manifesto
BTW, isto é muito simples, gostaria de sugerir que começar com tutoriais simples disponíveis na rede será melhor para você.
Boa sorte para Android
fonte
Substitua o código de linha abaixo:
Adicione as linhas abaixo em seu arquivo de manifesto:
fonte
Substitua seu MainActivity.class por estes códigos
Adicione este Código em seu
AndroidManifest.xml
depois</activity>
e Antes</application>
fonte
Isso sempre funciona, qualquer um deve estar bem:
fonte
adicione o código abaixo ao arquivo activity_main.xml:
e apenas adicione o método abaixo ao arquivo MainActivity.java:
fonte
Se você tiver dois botões e tiver a mesma chamada de id para seus eventos de clique de botão como este:
Ao clicar em
button1
,button2
funcionará e você não poderá abrir sua segunda atividade.fonte
EM CÓDIGO JAVA
}
fonte
Você pode ir para a atividade desejada clicando no botão. basta adicionar
android: onClick = "timerApp" nesta linha.
Em sua atividade principal, basta adicionar este método:
OU no método onCreate () adicione o código abaixo
fonte