TextView未显示在其他活动中

时间:2013-04-20 16:03:05

标签: android android-intent textview

我已经能够将数据传递给除此之外的其他活动。任何人都可以看到我做错了什么。我得到的唯一错误是我的TextView showmsg没有出现在新活动中。有谁知道为什么?

 public class MyScanActivity extends Activity
{


private static final String MY_CARDIO_APP_TOKEN = "NOT THE PROBLEM";

final String TAG = getClass().getName();

private Button scanButton;
private TextView resultTextView;
private Button buttonBack;

private TextView showmsg;



private int MY_SCAN_REQUEST_CODE = 100; // arbitrary int

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myscan);

    Intent in = getIntent();
    if (in.getCharSequenceExtra("usr") != null) {
        final TextView setmsg = (TextView)findViewById(R.id.showmsg);
        setmsg.setText(in.getCharSequenceExtra("usr"));             
    }

    resultTextView = (TextView)findViewById(R.id.resultTextView);
    scanButton = (Button)findViewById(R.id.scanButton);
    buttonBack = (Button)findViewById(R.id.buttonBack);
    showmsg = (TextView) findViewById(R.id.showmsg);

2 个答案:

答案 0 :(得分:1)

没有太多选项可以显示您的文字。

  1. 您的视图本身搞砸了:通过在TextView showmsg中使用android:text="TEST"将一些示例文本放入XML文件来检查这一点。除非您的文字颜色或大小错误,或者其他内容恰好位于其上方,否则您的文字应该会显示。

  2. 你实际上并没有用findViewById()找到它(我希望你在调试器中仔细检查过)我同意alex你可能不想要R.id.showmsg。您的意思是将R.id.resultTextView放在那里吗?

  3. 您传递的文字实际上并未通过。你应该做一个日志声明,比如Log.v(TAG, "Passed text is " + in.getCharSequenceExtra("urs"));,并确保文本真正通过。

答案 1 :(得分:1)

我没有测试过。但我认为这就是原因。

在此处更改:

if (in.getCharSequenceExtra("usr") != null) {
    final TextView setmsg = (TextView)findViewById(R.id.showmsg);
    setmsg.setText(in.getCharSequenceExtra("usr"));             
}

用这个:

showmsg = (TextView) findViewById(R.id.showmsg);
if (in.getCharSequenceExtra("usr") != null) {
    showmsg.setText(in.getCharSequenceExtra("usr"));             
}