【问题标题】:Why can't i get the text written in EditText?为什么我无法获得用 EditText 编写的文本?
【发布时间】:2012-03-12 20:48:39
【问题描述】:
  public class RenkKorluguTesti extends Activity {
  /** Called when the activity is first created. */

ImageView imageView1;
EditText editText1=null;
Button button1;
@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.galeri);

    imageView1 = (ImageView) findViewById(R.id.imageView1);
    editText1 = (EditText) findViewById(R.id.editText1);
    button1 = (Button) findViewById(R.id.button1);


    Gallery gallery = (Gallery) findViewById(R.id.gallery);
    gallery.setAdapter(new ImageAdapter(this));

    gallery.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View v, int position, long id) {

            switch(position) {

            case 0:{
                imageView1.setImageResource(R.drawable.plate01); 
                break;
            }
            case 1: imageView1.setImageResource(R.drawable.plate02); break;
            case 2: imageView1.setImageResource(R.drawable.plate03); break;

            }
            //Toast.makeText(RenkKorluguTesti.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    });




   }

public void tikla(View v) {
    if(editText1.getText().toString()=="12")
        editText1.setText("yov");
        //Toast.makeText(RenkKorluguTesti.this, "Birinci testi geçtiniz.",Toast.LENGTH_SHORT).show();


}

public class ImageAdapter extends BaseAdapter {
    int mGalleryItemBackground;
    private Context mContext;

    private Integer[] mImageIds = {
            R.drawable.plate01,
            R.drawable.plate02,
            R.drawable.plate03,

    };

    public ImageAdapter(Context c) {
        mContext = c;
        TypedArray attr = mContext.obtainStyledAttributes(R.styleable.RenkKorluguTesti);
        mGalleryItemBackground = attr.getResourceId(
                R.styleable.RenkKorluguTesti_android_galleryItemBackground, 0);
        attr.recycle();
    }

    public int getCount() {
        return mImageIds.length;
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);

        imageView.setImageResource(mImageIds[position]);
        imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setBackgroundResource(mGalleryItemBackground);

        return imageView;
    }
}




 }

如果在 EditText 框中写入的文本等于 12,我想制作一个 Toast。 我使用了 editText1.getText().toString() 方法,但它似乎不起作用。 怎么了?你能检查一下 public void tikla() 方法吗?谢谢。

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    您的代码中的这种比较不正确。

    (editText1.getText().toString()=="12")
    

    比较字符串是通过equals() 而不是== 运算符完成的。

    【讨论】:

    • 我还想在我的 if 语句中再添加一个条件,我该怎么做?.public void tikla(View v) { if(editText1.getText().toString().equals ("12") /*&& 如果选择图库中的第一张图片*/) Toast.makeText(RenkKorluguTesti.this, "Birinci testi geçtiniz.", Toast.LENGTH_SHORT).show(); }
    【解决方案2】:

    在 Java 上你不能做这种比较:

    if(editText1.getText().toString()=="12")
    

    你需要做的:

    if(editText1.getText().toString().equalsIgnoreCase("12"))
    

    if(editText1.getText().toString().compareTo("12")==0)
    

    【讨论】:

    • 我还想在我的 if 语句中再添加一个条件,我该怎么做?.public void tikla(View v) { if(editText1.getText().toString().equals ("12") /*&& 如果选择图库中的第一张图片*/) Toast.makeText(RenkKorluguTesti.this, "Birinci testi geçtiniz.", Toast.LENGTH_SHORT).show(); }
    • if (editText1.getText().toString().equals("12") && pathImage1!=null ) 但是你需要有一个String变量(pathImage1)来存储选中的路径图片。我在您的代码示例中没有看到这一点。
    • 谢谢,但是,我想得到选定的位置编号而不是路径。你知道我怎样才能到达那个位置吗?
    • @FigenGungor 你想获取图片在图库中的位置编号(索引)吗?如果是这样,请参阅方法 getLastImageId,在这篇文章中:stackoverflow.com/questions/4184951/…
    【解决方案3】:

    你可以这样做:

    if (editText1.getText().toString().compareTo("12") == 0)
    

    使用java.lang.String.compareTo(java.lang.String) 方法。

    【讨论】:

    • 我还想在我的 if 语句中再添加一个条件,我该怎么做?.public void tikla(View v) { if(editText1.getText().toString().equals ("12") /*&& 如果选择图库中的第一张图片*/) Toast.makeText(RenkKorluguTesti.this, "Birinci testi geçtiniz.", Toast.LENGTH_SHORT).show(); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多