2013-01-24 5 views
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> 

searchconfig

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

답변

0

당신이 당신의 활동에이 사람을 제어하기 때문에, 당신이 할 수있는 이자형 다른 요소는 클릭 가능/포커스 가능 (검색 필드 제외)하지 않아야합니다.

어쨌든 문제가있는 실제 코드를 보여 주면 더 유용 할 수 있습니다.

+0

감사합니다. Stephan, 샘플 코드에서 코드를 추가했습니다. – Cavish

+0

사실, 결과 활동 (목록 활동)뿐만 아니라 응용 프로그램 시작의 경우에도 표시되도록하고 싶습니다. 그러나 대화 상자가 활성화되어있을 때만 소프트 키가 나타나야합니다 (클릭 한 상태).이 작업을 수행하는 방법을 알려주십시오. – Cavish

+0

아니면 ..이 안드로이드 기본 검색 대화 상자를 별도의 레이아웃에 넣을 수 있습니까? 그리고 활동에서 클릭 한 것과 관계없이 항상 표시됩니다. 위의 레이아웃을 사용하여 수행 방법을 알려주십시오. 감사합니다. – Cavish

관련 문제