我如何将数据从一个活动传递到另一个活动

Posted

技术标签:

【中文标题】我如何将数据从一个活动传递到另一个活动【英文标题】:how i pass data from one activity to another activity 【发布时间】:2015-12-31 20:26:37 【问题描述】:
package com.example.assignmentone;

import java.util.ArrayList;

import android.R.integer;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.text.InputType;

import android.text.method.DigitsKeyListener;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.AlphabetIndexer;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TableLayout;

import android.widget.TableRow;

import android.widget.TableRow.LayoutParams;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity 


EditText et;
static TableLayout tl;
Intent intent;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et=(EditText) findViewById(R.id.et);
    //et2=(EditText) findViewById(R.id.et2);
    tl=(TableLayout) findViewById(R.id.tl);
    btn2=(Button) findViewById(R.id.btn2);



public void get(View v)

    startActivity(intent);



public void doo(View v)

    if(et.getText().toString().isEmpty()||Integer.parseInt(et.getText().toString())==0)

    
        Toast.makeText(this, "Please Enter Valid Row #", Toast.LENGTH_SHORT).show();

        //Toast.makeText(this, et2.getInputType()+"", Toast.LENGTH_SHORT).show();

    else 
        btn2.setEnabled(true);

        power(Integer.parseInt(et.getText().toString()));


    

public void power(int r)
    //r=Integer.parseInt(et.getText().toString());
    //ArrayList<View>[][] table1 = new ArrayList[r][4];
    tl.removeAllViews();
    for(int i=0;i<=r;i++)
    
        TableRow tRow=new TableRow(this);
        tRow.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        for(int j=0;j<4;j++)
        
            if(i==0)
            
                TextView tv=new TextView(this);
                tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

                if(j==0)
                
                    tv.setKeyListener(DigitsKeyListener.getInstance(" abcdef:-.")); 

                    tv.setText("Name");
                    tRow.addView(tv);
                

                else if(j==1)
                
                    tv.setText("Subject 1");
                    tRow.addView(tv);
                
                else if(j==2)
                
                    tv.setText("Subject 2");
                    tRow.addView(tv);
                
                else if( j==3)
                
                    tv.setText("Subjct 3");
                    tRow.addView(tv);

                

            
            else if(i>0)
            
                EditText temp=new EditText(this);
                temp.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
                if(j==0)
                    

                        temp.setInputType(1);
                        tRow.addView(temp);



                    else if(j==1)
                    
                        temp.setInputType(4098);
                        tRow.addView(temp);

                    
                    else if(j==2)
                    
                        temp.setInputType(4098);
                        tRow.addView(temp);

                    
                    else if( j==3)
                    
                        temp.setInputType(4098);
                        tRow.addView(temp);

                                       
            


        
        tl.addView(tRow);
    



@Override
public boolean onCreateOptionsMenu(Menu menu) 
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;


@Override
public boolean onOptionsItemSelected(MenuItem item) 
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) 
        return true;
    
    return super.onOptionsItemSelected(item);

【问题讨论】:

你要传递什么数据? 将在此表中输入的数据此代码制作了一个包含名称和编号条目的表,我将在第二次活动中传递此数据请告诉我是如何做到的 Intent.put() ...您可以将数据放入这些方法中..检查其重载形式 这是一个小问题,看看这个答案***.com/questions/2091465/… 试试这个链接***.com/questions/4967740/… 【参考方案1】:

您可以使用 putExtra 和 getExtra 将数据从活动发送和接收到另一个活动。使用此方法,您可以发送字符串可序列化对象...等。 请参阅此 example 发送字符串和此 example 发送对象

【讨论】:

以上是关于我如何将数据从一个活动传递到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章

如何将价值从 recyclerview 项目传递到另一个活动

如何将整数从一个活动传递到另一个活动?

如何将 Bitmap 对象从一个活动传递到另一个活动

如何将数据从 sqlite 数据库传递到另一个活动?

将活动之间的数据从列表视图传递到另一个活动

如何将 LatLng 的数组列表从一个活动传递到另一个活动