码不停
2019-04-20 08:14
采纳率: 100%
浏览 313

初学Android-为什么EditText传送文本后secondActivity里的跑马灯无法显示文本?

  1. 想自己制作一个可以自由输入文本的跑马灯程序,但是在编辑后发现跳转后不会显示文本。
  2. 这是第一个布局文件: ```<?xml version="1.0" encoding="utf-8"?>

3.这是MainActivity
```package cn.yuan.gen.pmdtest;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void sendMessage(View view) {
        Intent intent = new Intent(this,SecondActivity.class);
//        获取控件:
        EditText editText = (EditText)findViewById(R.id.et_wb);
//        将EditText获取的内容赋值给message:
        String message = editText.getText().toString();
//        给messa取名并传递给SecondActivity:
        intent.putExtra("Edit_Message",message);
//        启动意图:
        startActivity(intent);
    }
}

4.这是第二个布局文件:<?xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/RecMes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:singleLine="true"
android:textColor="#000000"
android:textSize="200dp"/>


5.这是secondActivity:
package cn.yuan.gen.pmdtest;

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity implements View.OnClickListener {//实现点击事件的接口
private TextView RecMes;//声明一个文本视图对象;
private boolean isPause = false;//跑马灯是否滚动;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sencond_main);
    Intent intent = getIntent();

// 把传送进来的String类型的Message的值赋给新的变量message:
String message = intent.getStringExtra("EXTRA_MESSAGE");
// 把布局文件中的文本框和textview链接起来:
TextView textView = (TextView) findViewById(R.id.RecMes);
// 在textview中显示出message:
textView.setText(message);
}

@Override
public void onClick(View v) {
    if (v.getId() == R.id.RecMes) {//设置点击文本事件
        isPause = !isPause;
        if (isPause) {
            RecMes.setFocusable(false);//不允许获得焦点;
            RecMes.setFocusableInTouchMode(false);//不允许在触摸时获得焦点;
        } else {
            RecMes.setFocusable(true);
            RecMes.setFocusableInTouchMode(true);
            RecMes.requestFocus();//强制获得焦点,让跑马灯跑起来;
        }
    }
}

}


图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 代码的灵魂是bug! 2019-04-20 14:40
    已采纳

    第二个activity中String message = intent.getStringExtra("EXTRA_MESSAGE");这个接收不应该是你mainactivity中intent携带的标识吗:Edit_Message

    点赞 打赏 评论

相关推荐 更多相似问题