0

検索ダイアログを常にアプリケーション アクティビティの上部に固定することはできますか?

私が抱えている問題は、ユーザーがアクティビティの他の場所をクリックした場合、たとえば誤って検索ダイアログがオフになり、ユーザーが検索電話ボタンをクリックする必要があることです。

私のサンプル アプリは検索アプリなので、常にアクティビティの一番上に表示されるようにしたいと考えています。

方法はありますか、android API はこれを許可しますか?

ありがとう

コードで編集:

public class MainActivity extends Activity {

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

        onSearchRequested();

        Intent intent = getIntent();

        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
              String query = intent.getStringExtra(SearchManager.QUERY);

              Log.d("search", query);
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

アクティビティ:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

検索構成

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
        android:label="@string/app_name" >
</searchable>
4

1 に答える 1

0

アクティビティに他に何があるかを制御するので、他の要素がクリック可能/フォーカス可能でないことを確認できます(検索フィールドを除く)。

とにかく、あなたが問題を抱えている実際のコードを私たちに見せてくれれば、私たちはもっと役立つかもしれません。

于 2013-01-24T19:42:51.490 に答える