2016-11-23 3 views
0

EditTextActivity内部Buttonあり、EditText内のいくつかのテキストを入力し、ボタンをクリックした後、メソッドが呼び出され、以下のような方法にEditTextの内容を渡します。editViewコンテンツをメソッドに渡すことができませんなぜですか?

public class MainActivity extends AppCompatActivity { 

    TextView txt_title; 
    Button btn_send; 
    EditText edt_notification; 
    public final static String NOTIFICATION_DATA="NOTIFICATION_DATA"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     txt_title= (TextView) findViewById(R.id.txt_title); 
     edt_notification= (EditText) findViewById(R.id.edt_notification); 
     btn_send= (Button) findViewById(R.id.btn_send); 

     btn_send.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       SendNotification(Calendar.getInstance().getTimeInMillis(), edt_notification.getText().toString()); 

      } 
     }); 


    } 

    private void SendNotification(long timeInMillis, String s) { 
     Toast.makeText(this, s, Toast.LENGTH_SHORT).show(); 

    } 

} 


<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="ir.wikichera.badamchi.sendnotification.MainActivity"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/txt_title" 
    android:text="Notification Text:" 
    android:textSize="18sp" 
    android:textStyle="normal|bold" /> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="textPersonName" 
    android:ems="10" 
    android:layout_below="@+id/txt_title" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/edt_notification" 
    android:hint="put your text here" 
    android:singleLine="false" /> 

<Button 
    android:text="Send" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/edt_notification" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="17dp" 
    android:id="@+id/btn_send" /> 
</RelativeLayout> 

問題が可変です"s"は私に "ローカル変数を見つけることができません"と言っています。どうして?これは簡単な問題ですが、私は理解できません。説明してください?

enter image description here

+0

try SendNotification(Calendar.getInstance()。getTimeInMillis()、MainActivity.this.edt_notification.getText()。toString()); – mWhitley

+0

レイアウトxmlも入れることができますか? – NehaK

+0

コードをデバッグしてxmlを入れてください。 –

答えて

2

instant runが有効になっているAndroidStudioを使用している可能性があります。それをオフにしてから試してください。これが有効になっていると、コードの変更が行われないことがあるためです。

ファイル→設定→ビルド、実行、展開→インスタント実行と [インスタント実行を有効にする]のチェックをはずしてください。

+0

ありがとう、これは私の問題を解決しました。 – Patzu

-1

私のワーキングコード:

public class TestAcitivity extends Activity { 
TextView txt_title; 
Button btn_send; 
EditText edt_notification; 
public final static String NOTIFICATION_DATA="NOTIFICATION_DATA"; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_test_acitivity); 

    txt_title= (TextView) findViewById(R.id.txt_title); 
    edt_notification= (EditText) findViewById(R.id.edt_notification); 
    btn_send= (Button) findViewById(R.id.btn_send); 

    btn_send.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      SendNotification(System.currentTimeMillis(), edt_notification.getText().toString()); 

     } 
    }); 


} 

private void SendNotification(long timeInMillis, String s) { 
    txt_title.setText(s); 
    Toast.makeText(TestAcitivity.this, s, Toast.LENGTH_SHORT).show(); 

} 

}

これは私のために働きました。

+0

完全に間違った答えです! – Piyush

+0

@Piyush何が間違っているか教えてください。 – Varma460

+0

文脈参照の問題ではありません –

関連する問題