Hen*_*den 87 android android-intent android-activity
我正在学习构建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>
Run Code Online (Sandbox Code Playgroud)
接下来,我有我的第二个活动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>
Run Code Online (Sandbox Code Playgroud)
然后我有我的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
}
}
Run Code Online (Sandbox Code Playgroud)
然后是我的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);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望我的主要活动中的按钮链接到我的sendphotos活动,只是打开那个活动,没有什么花哨,没有发送任何数据或任何东西.
我知道我需要的地方
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
但是我不知道用什么替代ToActivity.class或者我需要什么.
Jun*_*ned 142
您可以在按钮单击时移动到所需的活动.只需添加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" />
Run Code Online (Sandbox Code Playgroud)
在您的主要活动中,只需添加此方法:
public void sendMessage(View view)
{
Intent intent = new Intent(FromActivity.this, ToActivity.class);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
最重要的是:不要忘记定义你的活动 manifest.xml
<activity
android:name=".ToActivity"
android:label="@string/app_name">
</activity>
Run Code Online (Sandbox Code Playgroud)
J.D*_*.D. 29
试试这个
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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
Chi*_*iya 10
来自活动:您目前在哪里?
活动:你想去哪里?
Intent i = new Intent( MainActivity.this, SendPhotos.class);
startActivity(i);
两个Activity都必须包含在清单文件中,否则它将找不到类文件并抛出Force关闭.
编辑Mainactivity.java
crate button's object;
Run Code Online (Sandbox Code Playgroud)
现在编写click事件的代码.
Button btn = (button)findViewById(R.id.button1);
btn.LoginButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//put your intent code here
}
});
Run Code Online (Sandbox Code Playgroud)
希望它能为你效劳.
小智 10
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);
}
});
Run Code Online (Sandbox Code Playgroud)
来自完整菜鸟的完整菜鸟的答案:
MainActivity是第一个活动的名称.
MainActivity2是第二个活动的名称.
button1是MainActivity活动中xml按钮的ID .
只需遵循此步骤(我不是在编写代码,只是 Bcoz,您可能会复制和粘贴而无法学习)..
首先,您需要声明一个布局中的按钮
通过在 oncreate 中查找其 id(使用 findviewById)来引用该按钮
按钮的设置侦听器(如 setonclick 侦听器)
最后处理点击事件(意味着使用您已经知道的意图开始新活动)
不要忘记在清单文件中添加活动
顺便说一句,这很简单,我想建议您从网上提供的简单教程开始对您来说会更好。
祝安卓好运
| 归档时间: |
|
| 查看次数: |
307739 次 |
| 最近记录: |