Java 如何通过使用Android注释获取额外数据?
我对Android真的是个新手。我正在尝试将数据传递到另一个类的文本视图。但是由于某些原因,它没有出现在第二个类/页面中(textview没有改变)。当我不使用android annotation时,我就能够做到这一点,但有人告诉我,使用annotation要容易得多,所以我尝试将其转换为android annotation,但出于某种原因,它不起作用?我可能错过了什么 主要1Java 如何通过使用Android注释获取额外数据?,java,android,android-annotations,Java,Android,Android Annotations,我对Android真的是个新手。我正在尝试将数据传递到另一个类的文本视图。但是由于某些原因,它没有出现在第二个类/页面中(textview没有改变)。当我不使用android annotation时,我就能够做到这一点,但有人告诉我,使用annotation要容易得多,所以我尝试将其转换为android annotation,但出于某种原因,它不起作用?我可能错过了什么 主要1 package com.example.faculty.labactivity; import android.co
package com.example.faculty.labactivity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
@EActivity(R.layout.world)
public class MainActivity extends AppCompatActivity {
@ViewById(R.id.userName)
EditText user;
@Click(R.id.signIn)
public void signInButton(){
Main2Activity_.intent().name(user.getText().toString()).start();
}
主要2
package com.example.faculty.labactivity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Extra;
import org.androidannotations.annotations.ViewById;
@EActivity(R.layout.welcome)
public class Main2Activity extends AppCompatActivity {
@Extra("name")
String n;
@ViewById(R.id.name)
TextView tv;
Intent in2 = getIntent();
@AfterViews
void home(){
tv.setText("Hello, " + n + " !");
}
}
在接收活动(例如MyActivity)中,必须声明要接收的对象的名称
@Extra("name")
String name;
要传递数据,在创建意图时,必须执行以下操作:
Main2Activity_.intent(this).name(user.getText().toString()).start();
如果需要更精确的解决方案,请编辑问题以显示更多代码
您可以查看,以获取接收活动(例如MyActivity)中更完整的示例,您必须声明要接收的对象的名称
@Extra("name")
String name;
要传递数据,在创建意图时,必须执行以下操作:
Main2Activity_.intent(this).name(user.getText().toString()).start();
如果需要更精确的解决方案,请编辑问题以显示更多代码
您可以查看,以获得更完整的示例,它可能与您应该为
项目\u root/build.gradle
和app/build.gradle
文件中的注释添加的依赖项有关
请确保检查此线程:这可能与您应该为
项目的根/build.gradle
和app/build.gradle
文件添加注释的依赖项有关
确保检查此线程:Hi!谢谢你的回答。我尝试按照您的代码进行操作,但Main2_2;.intent()中有一个错误--它说无法解析方法“intent()”?如果您的活动名为Main2Activity,则必须编写Main2Activity_2;.intent()。阅读Android注释命名约定和生成的类namingIt说Main2Activity没有intent()方法?尝试向它传递一个上下文或它的子类,比如你的Activity1引用你是说像this函数?例如Main2Activity.intent(this.name)(user.getText().toString()).start();--它仍然产生了一个错误tho?嗨!谢谢你的回答。我尝试按照您的代码进行操作,但Main2_2;.intent()中有一个错误--它说无法解析方法“intent()”?如果您的活动名为Main2Activity,则必须编写Main2Activity_2;.intent()。阅读Android注释命名约定和生成的类namingIt说Main2Activity没有intent()方法?尝试向它传递一个上下文或它的子类,比如你的Activity1引用你是说像this函数?例如Main2Activity.intent(this.name)(user.getText().toString()).start();--它仍然产生了一个错误tho?