0

オプションメニューに「検索」ボタンがあり、検索マスクのダイアログが表示されます。したがって、検索ボタンをクリックすると、実際の検索が開始されます。

onCreateDialog でやろうとしていることは次のとおりです。

Button search_button = (Button) dialog.findViewById(R.id.d_search_button);
search_button.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
    EditText text = (EditText) v.findViewById(R.id.d_search_text);
  }
});

テキストが null であるため、どれが機能しないので、検索テキストにアクセスする最良の方法は何ですか?

4

2 に答える 2

4
final EditText text  = (EditText) v.findViewById(R.id.d_search_text);

   search_button.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {

   String searchString = text.getText().toString();
    //do something
   }

});
于 2012-04-16T18:43:09.130 に答える
2

最終EditText text的なグローバル変数を作成します。イベントを設定するときに設定すると、イベントが発生するたびに使用できるようになります。

Button search_button = (Button) dialog.findViewById(R.id.d_search_button);
text = (EditText) v.findViewById(R.id.d_search_text);
search_button.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
  //get your text here
  }
});
于 2012-04-16T18:42:11.670 に答える