-1

我有两个名为:first_viewsecond_view.

第一个视图由一个按钮和一个可编辑的文本视图组成。第二个视图由单个文本视图组成。

在我的第一个视图中,我想在可数据文本视图中放置一个数字。当我单击按钮时,它应该在第二个视图中显示数字。

如何为这两个视图编写 Java 类?

4

3 回答 3

2

如果在同一个活动中有两个视图,你可以这样做

    Button btn;
    EditText txtInput;
    TextView txtShow;
    //btn=firstView.findViewWithTag(tag)
    btn=firstView.findViewById(R.id.**);
    txtInput=firstView.findViewById(R.id.**);
    txtShow=secondView.findViewById(R.id.**);

    btn.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

            String input=txtInput.getText().toString();
            txtShow.setText(input);
        }

    });

如果您有两个活动:

Button btn;
EditText txtInput;
String VALUE_KEY="show";
private void test()
{


    btn=(Button)findViewById(R.id.**);
    txtInput=(Button)findViewById(R.id.**);


    btn.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

            String input=txtInput.getText().toString();
            Intent intent=new Intent(this, AnotherActivity.Class);
            intent.putExtra(VALUE_KEY, input);
        }

    });

}

在另一个活动上:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent=this.getIntent();
        String value=intent.getStringExtra(VALUE_KEY);

        TextView view=(TextView)findViewById(R.id.txt);
        view.setText(value);
    }
于 2012-04-28T07:48:26.907 回答
2

我假设你想在同一个活动中设置文本,如果不是这样,那么告诉我,我会改变我的答案。

这是你必须做的。

public class MyActivity extends Activity {  
Button btn;
EditText et;
TextView tv;

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button)findViewById(R.id.yourbtnID);
        et = (EditText) findViewById(R.id.yourEtID);
        tv = (TextView) findViewById(R.id.yourtvID);

        btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        String myText = et.getText().toString();
        tv.setText(myText); 
    }
});
}
}

如果要在两个活动之间传递文本,请使用Intent.

在您当前Activity执行此操作。

Intent i = new Intent(YourCurrentActivity.this, YourNextActivity.class);
String str = yourEditText.getText().toString();
i.putExtra("edittextvalue" , str);
startActivity(i);

然后在下一个活动中执行此操作..

Bundle extras = getIntent().getExtras(); 
String myEtText;

if (extras != null) {
myEtText = extras.getString("edittextvalue");
yourTextView.setText(myEtText);
}
于 2012-04-28T07:43:09.013 回答
1

试试这个,把你的价值放在字符串中:String et_str = EditText.getText().toString();

当你调用另一个意图时,

Intent i = new Intent(first_view .class, second_view.class);
i.putExtra("REF",et_str);
StartActivity(i);

在第二个视图中,使用getExtra()

于 2012-04-28T07:42:10.850 回答