2017-10-21 5 views
0

私はAndroidでかなり新しくなっていますので、私はあまりにもnoobieの音が鳴らないことを願っています。文字列に押されたボタンのテキストを保存するには、デフォルトのonclick関数が必要ですが、ボタンのテキストをビューから取得する方法を理解できませんでした。これは、私が作るすべてのボタンのif文を作成する手助けとなります。助言がありますか?onClickListenerの実装時にボタンのテキストを取得しようとしています

import android.support.annotation.Nullable; 
import android.support.v7.app.AlertDialog; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.support.v4.app.Fragment; 

public class Section1Fragment extends Fragment implements View.OnClickListener { 
    private static final String TAG = "Section1Fragment"; 

    Button btnItem1; 
    Button btnItem2; 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.section1,container,false); 

     btnItem1 = (Button) view.findViewById(R.id.btnItem1); 
     btnItem1.setOnClickListener(this); 
     btnItem2 = (Button) view.findViewById(R.id.btnItem2); 
     btnItem2.setOnClickListener(this); 
     return view; 
    } 

    @Override 
    public void onClick(View view) { 
     if (view == btnItem1) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
      builder.setMessage("button 1") 
        .setNegativeButton("Retry", null) 
        .create() 
        .show(); 
     } 
     else if (view == btnItem2) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
      builder.setMessage("button 2") 
        .setNegativeButton("Retry", null) 
        .create() 
        .show(); 
     } 
    } 
} 
+3

https://stackoverflow.com/questions/20263673/get-text-of-view-button –

+0

[ビューのテキストを取得(ボタン)]の可能な複製(https://stackoverflow.com/questions/20263673/get -text-of-view-button) – pooyan

答えて

0

view.getText()。のtoString()ビューのテキスト値を取得するために呼び出すために必要なものです。ここにサンプルコードがあります。

@Override 
public void onClick(View view) { 
    if (view == btnItem1) { 
     Toast.makeText(getActivity(), btnItem1.getText().toString(), Toast.LENGTH_SHORT).show(); 

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setMessage("button 1") 
       .setNegativeButton("Retry", null) 
       .create() 
       .show(); 
    } 
    else if (view == btnItem2) { 
     Toast.makeText(getActivity(), btnItem1.getText().toString(), Toast.LENGTH_SHORT).show(); 

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setMessage("button 2") 
       .setNegativeButton("Retry", null) 
       .create() 
       .show(); 
    } 
} 
0

最初に、ボタンを正しく宣言したいので、xmlファイルに移動し、ボタンにIDがあることを確認します。あなたはこのようにそれを宣言したい、Javaコードファイルで次にandroid:id="@+id/button"

:あなたは、ボタンで次の手順を実行して、IDを追加することができます動作する必要があることを

final Button button = (Button) findViewById(R.id.button)

、そうあなた

button.setOnClickListener(new View.OnClickListener() { 
 
    @Override 
 
    public void onClick(View _v) { 
 
    //what you want button to do 
 
    } 
 
});

:この方法を行うことができリスナーを作りたいです
関連する問題