2017-02-27 205 views
0

我正在进行练习,现在我正在进行股票交易。 我必须复制Userinput,然后粘贴创建的字符串。 任何人都可以帮助我吗?复制粘贴userinput

这是我的代码:

public class CopyPasteActivity extends AppCompatActivity { 

    private Button CopyButton; 
    private Button PasteButton; 
    private EditText UserInput; 
    private TextView PasteText; 
    private final static String TAG = "CopyPasteActivity"; 

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_copy_paste); 

     CopyButton = (Button) findViewById(R.id.copy_button); 
     PasteButton = (Button) findViewById(R.id.paste_button); 
     UserInput = (EditText) findViewById(R.id.user_input); 
     PasteText = (TextView) findViewById(R.id.paste_text); 

     final String userinput = new String(); 

     CopyButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Log.d(TAG, "The button Copy was pressed"); 
       String userinput = UserInput.getText().toString(); 
      } 
     }); 

     PasteButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Log.d(TAG, "The button True was pressed"); 
       PasteText.setText(userinput); 
      } 
     }); 
    } 
} 
+0

你能解释一下你面对的确切问题吗? – SanVed

+0

它必须采用UserInput并将其复制到字符串。然后,当你点击粘贴按钮时,它应该在TextView中设置文本。我不知道是否复制功能或粘贴功能不起作用? – LeGraa

+1

carlpoole的回答是正确的,请参考。 – SanVed

回答

2

的问题是,您声明userinputonCreate()并使其final,它阻止你以后编辑它。同样在CopyButtonclick listener中,您正在为userinput创建一个新的局部变量,其范围仅限于该侦听器。

移动String userinput = new String();onCreate(),消除final,并更改CopyButton听者行至

userinput = UserInput.getText().toString(); 
+1

谢谢!这工作:) – LeGraa

0

你不应该定义你CopyButton.setOnClickListener里面你userinput变量。将其定义为您的监听器外部的类或实例变量,以便您的PasteButton.setOnClickListener应该可以看到它。像这样:

String userinput; 

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_copy_paste); 

    CopyButton = (Button) findViewById(R.id.copy_button); 
    PasteButton = (Button) findViewById(R.id.paste_button); 
    UserInput = (EditText) findViewById(R.id.user_input); 
    PasteText = (TextView) findViewById(R.id.paste_text); 

    CopyButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Log.d(TAG, "The button Copy was pressed"); 
      userinput = UserInput.getText().toString(); 
     } 
    }); 

    PasteButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Log.d(TAG, "The button True was pressed"); 
      PasteText.setText(userinput); 
     } 
    }); 
} 
+0

感谢您的快速反馈:D – LeGraa