Phương thức setText(CharSequence text, boolean filter)
của AutoCompleteTextView
được giới thiệu trong API 17, dường như cũng hoạt động ở các phiên bản Android thấp hơn. Tôi đã mong đợi nó sụp đổ trong 2,3 thiết bị với NoSuchMethodError
, nhưng nó chỉ làm việc tốt. Đó không phải là thực sự là một vấn đề, nhưng tôi chỉ tò mò muốn biết làm thế nào nó được làm việc :)được thêm vào trong API 17 hoạt động ở các cấp API thấp hơn quá
Đây là mã của tôi -
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:textColor="@android:color/black"
android:ems="10"
android:text="AutoCompleteTextView" >
<requestFocus />
</AutoCompleteTextView>
....
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.AutoCompleteTextView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
//method introduced in API 17!!
autoCompleteTextView.setText("Example text", false);
}
}
Bạn nói đúng. Tôi chỉ xem xét mã nguồn của Gingerbread 'AutoCompleteTextView' (https://android.googlesource.com/platform/frameworks/base/+/gingerbread/core/java/android/widget/AutoCompleteTextView.java) và phương thức đó được đánh dấu là ẩn . Cảm ơn câu trả lời. –
@AbhishekV Đây là những gì StackOverflow là có cho, phải không? :) –