Textview
(tt
)未显示setText()
设置的文字。我无法在TextView
中看到输出。我尝试过使用Toast
和setText()
,但在这两种情况下我都会输出空白。为什么我得到这个空白输出?
package com.divik.ds;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
EditText ed1,ed2,ed3;
String x,y,z,xx;
TextView tt;
Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText) findViewById(R.id.editText1);
ed2=(EditText) findViewById(R.id.editText2);
ed3=(EditText) findViewById(R.id.editText3);
tt= (TextView) findViewById(R.id.textView4);
btn=(Button) findViewById(R.id.button1);
try{
x=(ed1.getText().toString());
y=(ed2.getText().toString());
z=(ed3.getText().toString());
xx=x+""+y+""+z;
btn.setOnClickListener(this);
}
catch(Exception e)
{
e.printStackTrace();
}
}
@Override
public void onClick(View v) {
try{
tt.setText(xx);
}
catch(Exception e)
{
e.printStackTrace();
}
Toast.makeText(this,xx,Toast.LENGTH_LONG).show();
}}
这是xml代码。我使用了3 EditText
,4 TextView
和1 Button
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter Date"
android:textSize="30dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter month"
android:textSize="30dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
</EditText>
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter year"
android:textSize="30dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
</EditText>
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="40dp"
android:textSize="30dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
答案 0 :(得分:3)
自
onCreate()
位于Activity
,onClick()
首次启动时,它们将为空。
您可以将这些行放在@Override
public void onClick(View v) {
try{
x= ed1.getText().toString();
y= ed2.getText().toString();
z= ed3.getText().toString();
xx=x+""+y+""+z;
tt.setText(xx);
} catch(Exception e) {
e.printStackTrace();
}
Toast.makeText(this,xx,Toast.LENGTH_LONG).show();
}}
。
{{1}}
答案 1 :(得分:0)
请改用此代码: -
package com.divik.ds;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
EditText ed1,ed2,ed3;
String x,y,z,xx;
TextView tt;
Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText) findViewById(R.id.editText1);
ed2=(EditText) findViewById(R.id.editText2);
ed3=(EditText) findViewById(R.id.editText3);
tt= (TextView) findViewById(R.id.textView4);
btn=(Button) findViewById(R.id.button1);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
try{
x=(ed1.getText().toString());
y=(ed2.getText().toString());
z=(ed3.getText().toString());
xx=x+""+y+""+z;
tt.setText(xx);
}
catch(Exception e)
{
e.printStackTrace();
}
Toast.makeText(this,xx,Toast.LENGTH_LONG).show();
}}