我已经能够将数据传递给除此之外的其他活动。任何人都可以看到我做错了什么。我得到的唯一错误是我的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);
答案 0 :(得分:1)
没有太多选项可以显示您的文字。
您的视图本身搞砸了:通过在TextView showmsg中使用android:text="TEST"
将一些示例文本放入XML文件来检查这一点。除非您的文字颜色或大小错误,或者其他内容恰好位于其上方,否则您的文字应该会显示。
你实际上并没有用findViewById()
找到它(我希望你在调试器中仔细检查过)我同意alex你可能不想要R.id.showmsg
。您的意思是将R.id.resultTextView
放在那里吗?
您传递的文字实际上并未通过。你应该做一个日志声明,比如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"));
}