java - 无法在 Activity 之间传递数据。数据为空

标签 java android

我正在尝试将一些数据从一个 Activity 传递到另一个 Activity ,并且我在另一个 Activity 中做了一个 toast ,以查看数据是否正在传递。当 toast 显示时,它是空白的。我已经做了所有正确的事情并尝试了很多不同时间用不同方法我还创建了另一个应用程序,但问题仍然存在。它给了我 null。

我在第一个 Activity 中的 Java 代码

public class titleandcuisine extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

public static final String TITLE_GET = "title";
    public static final String CUISINE_GET = "cuisine";

    ImageView imageView;
    Button button;
    Spinner spinner;
    EditText dish;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_titleandcuisine);


        dish = findViewById(R.id.editText);
        spinner = findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.cuisines,android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);

        button = findViewById(R.id.next);
        imageView = findViewById(R.id.close);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(), homepage.class));
            }
        });


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String text = dish.getText().toString();
                String text2 = spinner.getSelectedItem().toString();

                Intent data = new Intent(getBaseContext(),imagepost.class);
               data.putExtra(TITLE_GET,text);
               data.putExtra(CUISINE_GET,text2);
                startActivity(data);

            }
        });
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}

第二个 Activity java代码

public class reviewactivity extends AppCompatActivity {
    TextView cuisine,title;
    ImageView displayimage,back;
    Uri myUri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_reviewactivity);


        Intent intent = getIntent();
        String titleget = intent.getStringExtra(titleandcuisine.TITLE_GET);
        String cuisineget = intent.getStringExtra(titleandcuisine.CUISINE_GET);


        Toast.makeText(this, titleget + cuisineget, Toast.LENGTH_SHORT).show();

        cuisine = findViewById(R.id.reviewcuisine);
        title = findViewById(R.id.reviewtitle);
        back = findViewById(R.id.backtopostvideo);
        displayimage = findViewById(R.id.reviewdisplaimage);

       // cuisine.setText(cuisineget);
       // title.setText(titleget);

       // myUri = Uri.parse(uri);
        displayimage.setImageURI(myUri);


        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(),videopost.class));
            }
        });

    }


    }


最佳答案

单击按钮时,您需要从 EditText 读取文本。像这样的东西:

 title = dish.getText().toString(); // Add this
 Intent data = new Intent(getBaseContext(),imagepost.class);
 data.putExtra(Intent.EXTRA_TEXT, title);
 ...

还有一件事:您正在尝试在 reviewactivity Activity 中读取 Intent.EXTRA_TEXT。但是,没有任何内容启动该 Activity (至少在您共享的代码段内)。

关于java - 无法在 Activity 之间传递数据。数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62222296/

相关文章:

java - 环境变量未确认

java - Java 项目的 LessCSS/JS 编译器和压缩器

java - 如果 URL 参数值包含未解码的 '&' 字符

android - 未启动Android + Google API v2 +应用

android - 是否有任何实际的 Android 手机实现蓝牙 spp 配置文件

android - getContext 和 getResource 在 5.0 及更低版本之间的兼容性

Java 7 - Files.copy 复制空文件

java - @Secured 注释在使用 Autoproxy 的 AspectJ 模式下不起作用

java - 如何在Android 9上使Apps支持

java - 无法实例化启动我的应用程序的 ComponentInfo Activity