[英]Android AutoCompleteTextView return wrong string
我的Android應用程序有一個小問題。 我想在AutoCompleteTextView中放入一個單詞,然后跳轉到特定的Activity(取決於用戶給出的單詞)。
問題是,當我輸入一個特定的單詞時,程序與預期的正確答案不符,但返回錯誤的吐司消息。 但是,隨着我放的日志,我看到了正確的答案。 我認為解決方案很愚蠢,但是我堅持了下來,需要解決這個問題。
編碼:
Activity.java
public class paralActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_paral);
final String [] temp = {"one","two","three"};
AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
actv.clearListSelection();
final RelativeLayout myRelative = (RelativeLayout) findViewById(R.id.find);
myRelative.setVisibility(View.INVISIBLE);
ImageView myImage = (ImageView) findViewById(R.id.aktoploika);
myImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(paralActivity.this, topParalActivity.class);
startActivity(intent);
}
});
ImageView myOtherImage = (ImageView) findViewById(R.id.aeroporika);
myOtherImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myRelative.setVisibility(View.VISIBLE);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(paralActivity.this, android.R.layout.select_dialog_item, temp);
//Getting the instance of AutoCompleteTextView
AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
actv.setThreshold(1);//will start working from first character
actv.setAdapter(adapter);//setting the adapter data into the AutoCompleteTextView
actv.setTextColor(Color.RED);
ImageView findBeach = (ImageView) findViewById(R.id.find_beach);
findBeach.setOnClickListener(new View.OnClickListener() {
@Override
** public void onClick(View view) {
AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
String choice = actv.getText().toString();
Log.i("Answer",choice);
if (choice == "one"){
Intent firstIntent = new Intent(paralActivity.this, nauagioActivity.class);
startActivity(firstIntent);
}else if (choice == temp[1]){
Intent secondIntent = new Intent(paralActivity.this, gerakasActivity.class);
startActivity(secondIntent);
}else if (choice == temp[2]){
Intent thirdIntent = new Intent(paralActivity.this, limnionasActivity.class);
startActivity(thirdIntent);
}else{
Toast.makeText(paralActivity.this,"wrong",Toast.LENGTH_SHORT).show();
}
}
});
}
});
}
}
為了幫助您理解,在此活動中有2個imageViews。 當用戶按下第二個按鈕時,將出現一個relativeLayout(帶有一個AutoCompleteTextView和一個按鈕)。 用戶按下按鈕后寫單詞后,必須轉到特定活動。 我聲明了一個字符串數組(temp [3]),其中包含三個單詞,每個單詞包含3個活動。
問題開始於我放入**的最后一個onclick方法。 每次我從數組中輸入正確的單詞時,我都會收到Toast消息,但在日志中看到正確的單詞。
這是Activity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_paral"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main"
android:scaleX="2"
tools:context="com.example.billy.zakynthosapp.paralActivity">
<TextView
android:id="@+id/categories"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/welcome"
android:text="@string/categories"
android:textAlignment="center"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textSize="11sp"
android:textStyle="bold"
android:textColor="@color/welcome"
android:textAllCaps="true"/>
<ImageView
android:id="@+id/aktoploika"
android:layout_centerHorizontal="true"
android:layout_width="130dp"
android:layout_height="50dp"
android:layout_below="@id/categories"
android:layout_marginTop="35dp"
android:scaleType="centerCrop"
android:src="@drawable/par1" />
<TextView
android:id="@+id/aktoploika_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/aktoploika"
android:layout_alignTop="@+id/aktoploika"
android:layout_alignRight="@+id/aktoploika"
android:layout_alignBottom="@+id/aktoploika"
android:layout_margin="1dp"
android:gravity="center"
android:text="@string/paralies"
android:textSize="22sp"
android:textColor="@color/categories"
android:textStyle="bold"/>
<ImageView
android:id="@+id/aeroporika"
android:layout_centerHorizontal="true"
android:layout_width="130dp"
android:layout_height="50dp"
android:layout_below="@id/aktoploika"
android:layout_marginTop="35dp"
android:scaleType="centerCrop"
android:src="@drawable/par2" />
<TextView
android:id="@+id/aeroporika_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/aeroporika"
android:layout_alignTop="@+id/aeroporika"
android:layout_alignRight="@+id/aeroporika"
android:layout_alignBottom="@+id/aeroporika"
android:layout_margin="1dp"
android:gravity="center"
android:text="@string/search"
android:textSize="22sp"
android:textColor="@color/categories"
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/find"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/aeroporika"
android:layout_marginTop="50dp"
android:layout_centerInParent="true"
android:background="@color/categories"
android:scaleX="0.5">
<TextView
android:id="@+id/textView_1"
android:layout_width="wrap_content"
android:gravity="center_vertical"
android:textSize="20sp"
android:layout_centerHorizontal="true"
android:text="@string/find_paral"
android:textColor="@android:color/black"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/find_beach"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_marginLeft="200dp"
android:src="@drawable/find"
android:onClick="find"/>
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView_1"
android:layout_marginTop="10dp"
android:ems="10"
android:text="">
<requestFocus />
</AutoCompleteTextView>
</RelativeLayout>
誰能幫我這個? 非常感謝!
嘗試choice.equals("one")
而不是choice == "one"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.