Android应用,使用代码编辑现有的TextView?

时间:2015-03-31 12:33:37

标签: java android xml

我刚刚浏览了android"第一个应用程序"位于Here的教程,我想开始自己尝试教程教给我的东西。

我想要做的是获取用户在第一个活动中写入的消息,并将其显示在TextView元素中,我已在XML文件中为第二个活动定义了该元素。如何使用java代码编辑文本视图的属性?我不知道如何编辑元素的任何属性,即使我知道它的android:id。任何人都可以给我任何见解吗?

3 个答案:

答案 0 :(得分:0)

TextView textView = (TextView) findViewById(R.id.id_of_the_textview);
textView.setText(yourNewText);

答案 1 :(得分:0)

  

我想要做的是接收用户在第一个活动中写的消息

我假设您将在FirstActivity中使用EditText,因此您必须从此窗口小部件中获取文本并将其作为额外的用于切换到第二个活动的意图传递。

在您的FirstActivity onCreate方法中,它将如下所示:

EditText myEditText = (EditText) findViewById(R.id.yourEditTextId);
Intent i = new Intent(this, ToClass.class);
i.putExtra("myText", myEditText.getText().toString());
startActivity(i);

在你的SecondActivity onCreate方法中:

Intent intent = getIntent();
String text = intent.getExtras().getString("myText");
TextView myTextView = (TextView) findViewById(R.id.yourTextViewId);
myTextView.setText(text);

答案 2 :(得分:0)

import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.EditText;


public class MainActivity extends Activity {

Button button1;
String text;

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

public void addListenerOnButton() {

    button1 = (Button) findViewById(R.id.buttoncalculate);
    button1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        EditText editText = (EditText)findViewById(R.id.editText1);
        String text = editText.getText().toString();

             Intent myIntent = new Intent(view.getContext(),Calculated.class);
             myIntent.putExtra("mytext",text);
             startActivity(myIntent);

        }
    });
}


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

<强> Calculated.java

public class Calculated extends Activity {

TextView mTextview;

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

       mTextview = (TextView)findViewById(R.id.textView1);

       mTextview.setText(getIntent().getStringExtra("mytext"));
}

<强> calculated.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="42dp"
    android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>