と という名前の 2 つのビューがfirst_view
ありsecond_view
ます。
最初のビューは、ボタンと編集可能なテキスト ビューで構成されます。2 番目のビューは、1 つのテキスト ビューで構成されます。
私の最初のビューでは、データ可能なテキストビューに数値を入れたいと思っています。ボタンをクリックすると、2 番目のビューに数値が表示されます。
2 つのビューの Java クラスをコーディングするにはどうすればよいですか?
同じアクティビティ内でテキストを設定したいと考えています。そうでない場合は、答えを変更します。
これがあなたがしなければならないことです。
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);
}
});
}
}
2 つのアクティビティ間でテキストを渡したい場合は、 を使用します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);
}
同じアクティビティに 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);
}
});
2 つのアクティビティがある場合:
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);
}
});
}
AnotherActivity で:
@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);
}
これを試して、値を文字列に入れてください:String et_str = EditText.getText().toString();
もう一方のインテントを呼び出すと、
Intent i = new Intent(first_view .class, second_view.class);
i.putExtra("REF",et_str);
StartActivity(i);
The Second View で、次を使用してこの値を取得します。getExtra()