私の質問は非常に基本的なものであり、私の経験もそうです! 投稿が長くなってすみません!
AutoCompleteTextView
アイテムが選択されたときに「もの」を実行できるように、リスナーを作成しようとしています。AutoCompleteTextView
2文字を入力して、表示されるリストから項目を選択できる限り、問題なく動作します。ただし、アプリケーションがリスナー コードを実行することはありません。
私のコード、xml、およびログ トレースはすべてここにあります。私はすべての質問を検索しましたが、それは一般的な問題のようですが、(非常に少数の) 回答はどれもうまくいきません。
どんな助けでも大歓迎です。
ソース
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
public class A_New_StartActivity extends Activity {
private final String LOG_TAG = "CJM";
private static String result = "No result";
private static final String[] myitems = {
"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(LOG_TAG, "Entered onCreate");
ArrayAdapter<String> itemAdapter = new ArrayAdapter<String>(this, R.layout.destination_item, myitems);
AutoCompleteTextView itemView = (AutoCompleteTextView) findViewById(R.id.autocomplete_items);
itemView.setAdapter(itemAdapter);
itemView.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
result = "Selected";
Log.d(LOG_TAG, "Showing Result 1");
TextView result_view = (TextView) findViewById(R.id.result_view);
result_view.setText(result);
View scroll_visibility = findViewById(R.id.result_scroll);
scroll_visibility.setVisibility(View.VISIBLE);
View result_visibility = findViewById(R.id.result_view);
result_visibility.setVisibility(View.VISIBLE);
}
public void onNothingSelected(AdapterView<?> parent) {
Log.d(LOG_TAG, "In Nothing Selected");
result = "Nothing";
Log.d(LOG_TAG, "Showing Result 2");
TextView result_view = (TextView) findViewById(R.id.result_view);
result_view.setText(result);
View scroll_visibility = findViewById(R.id.result_scroll);
scroll_visibility.setVisibility(View.VISIBLE);
View result_visibility = findViewById(R.id.result_view);
result_visibility.setVisibility(View.VISIBLE);
}
});
Log.d(LOG_TAG, "completed onCreate");
}
}
R.layout の MAIN.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
</TextView>
<TextView
android:id="@+id/item_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/request_item"
android:visibility="visible" />
<AutoCompleteTextView
android:id="@+id/autocomplete_items"
android:completionThreshold="2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:visibility="visible" />
<ScrollView
android:id="@+id/result_scroll"
android:layout_width="220dp"
android:layout_height="290dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="50dp"
android:visibility="invisible" >
<TextView
android:id="@+id/result_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLines="5"
android:scrollbars="vertical"
android:text="@string/result"
android:visibility="invisible" />
</ScrollView>
<Button
android:id="@+id/reset_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="125dp"
android:text="@string/button_text" />
R.layout の DESTINATION_ITEM.xml
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
R.values の STRINGS.xml
<resources>
<string name="app_name">A_New_Start</string>
<string name="request_item">Please enter the first 2 letters of the item</string>
<string name="result">Initialised</string>
<string name="button_text">OK</string>
ログ出力
05-26 10:19:05.550: D/CJM(269): Entered onCreate
05-26 10:19:05.570: D/CJM(269): completed onCreate