【问题标题】:how to hide the context of a text field and show it when click button如何隐藏文本字段的上下文并在单击按钮时显示它
【发布时间】:2013-03-09 18:21:46
【问题描述】:

如何隐藏文本字段的上下文并在单击时显示它 按钮 我不想隐藏我在里面写的上下文的整个文本 并在我单击按钮时显示 * 这是一个小代码*

  package com.example.nonachan;

    import android.R.string;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageButton;
    import android.widget.TextView;

    public class MainActivity extends Activity {

    char a;
    char b;
    char c; 
    int i = 0; 
    char buf;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            final EditText t =(EditText)findViewById(R.id.t1);  
                 ImageButton n = (ImageButton)findViewById(R.id.b1);            
                n.setOnClickListener(new View.OnClickListener() {       
                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub

                        a = 'a';
                       t.setText(t.getText().toString() + a);   
                    //   t.setVisibility(View.INVISIBLE);

                    }       

                });

                ImageButton a = (ImageButton)findViewById(R.id.b2);
                a.setOnClickListener(new View.OnClickListener() {     
                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub

                         b = 'b' ;
                         t.setText(t.getText().toString() + b);

                        // t.setVisibility(View.INVISIBLE);
                         i++; 

                    }
                });

                ImageButton m = (ImageButton)findViewById(R.id.b4);
                m.setOnClickListener(new View.OnClickListener() {     
                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub

                         c = 'c' ;
                         t.setText(t.getText().toString() + c);

                         //t.setVisibility(View.INVISIBLE);
                         i++; 

                    }
                });

                Button l = (Button)findViewById(R.id.b3);
                l.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub      
                    //  t.setVisibility(View.VISIBLE);
                    }

                });

        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }

    }

【问题讨论】:

  • 请不要发布您的整个代码,而是发布相关部分,而且您的代码缩进非常不一致

标签: android eclipse button keyboard


【解决方案1】:

假设您在问题中将内容拼错为上下文(看起来很可能)

不要试图隐藏EditText 的内容,只需将其保存到一个变量并将EditText 的文本设置为空即可。然后在您的按钮中单击只需将文本设置回本地变量中的内容

例如

String hiddenText = null;

EditText text = (EditText)findViewById(R.id.t1);

ImageButton hide = (ImageButton)findViewById(R.id.b1); 
btn.setOnClickListener(new View.OnClickListener() {       
    @Override
    public void onClick(View arg0) {
        // save and hide
        hiddenText = text.getText();
        text.setText("");
    }       
});

ImageButton unhide = (ImageButton)findViewById(R.id.b2); 
btn.setOnClickListener(new View.OnClickListener() {       
    @Override
    public void onClick(View arg0) {
        // unhide the text and 'clear' hiddenText
        if (hiddenText != null) {
            text.setText(hiddenText);
            hiddenText = null;
        }
    }       
});

【讨论】:

    【解决方案2】:

    有几种方法可以做到这一点。这取决于你想怎么做。这些只是我脑海中的一些建议,您甚至可以一起使用它们。

    您可以将任何输入的文本放在单独的字符串中,然后如果不可见将 TextView 设置为显示空字符串,如果可见则将 TextView 设置为保存的字符串。

    您可以使用可见性标签。

    您可以将文本颜色设置为背景颜色。

    您可以在可见/不可见状态下创建/删除 TextView。

    如果需要,您可以将文本替换为安全输入的符号(对于 edittext 中的每个字符显示一个星号或其他内容),然后将其更改回纯文本。

    有一百零一种方法,如果你搜索以前回答的问题,你会看到几种不同的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多