Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法设置动态按钮上的文本_Android_Button_Settext - Fatal编程技术网

Android 无法设置动态按钮上的文本

Android 无法设置动态按钮上的文本,android,button,settext,Android,Button,Settext,我是android新手。 单击每个按钮,我在表格布局的新行中生成了动态按钮。 但是,每当我点击按钮时,我都会在按钮上显示一些文本。 但除了最后一个按钮外,我无法设置文本(为了清晰起见,请观察图片)。 朋友们,请帮帮我 这就是代码: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCre

我是android新手。 单击每个按钮,我在表格布局的新行中生成了动态按钮。 但是,每当我点击按钮时,我都会在按钮上显示一些文本。 但除了最后一个按钮外,我无法设置文本(为了清晰起见,请观察图片)。 朋友们,请帮帮我

这就是代码:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = (Button) findViewById(R.id.button1);
    final EditText et=(EditText)findViewById(R.id.wordtxt);
    final String a=et.getText().toString(); 
    final char[] arr=a.toCharArray();   


    // Capture button clicks
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View arg) {
            //Hiding the Key board
            InputMethodManager inputManager = (InputMethodManager)
                   getSystemService(getApplicationContext().INPUT_METHOD_SERVICE); 
               inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                       InputMethodManager.HIDE_NOT_ALWAYS);

            final TableLayout table=(TableLayout)findViewById(R.id.tbl);


            //Toaster Ex
            int wordCount=et.getText().length();
            Toast.makeText(getApplicationContext(), "Word Count is"+wordCount, 4000).show();

            int k=0;
            final TableRow  tr;
            tr = new TableRow(MainActivity.this);
            table.addView(tr);
            final Button btn;
            btn = new Button(MainActivity.this);
            btn.setText("");
            btn.setId(k);
            tr.addView(btn);
                btn.setOnClickListener(new OnClickListener() {

                    @Override
                   public void onClick(View v) {                        
                        EditText et=(EditText)findViewById(R.id.wordtxt);
                        String a=et.getText().toString(); 
                        char[] arr=a.toCharArray();                         
                        int rowcount= table.getChildCount();                            
                    if(rowcount<arr.length)
                    {
                        if(rowcount==1)
                        {
                                EditText et1=(EditText)findViewById(R.id.wordtxt);
                                String a1=et1.getText().toString(); 
                                char[] arr1=a1.toCharArray();

                                int id=(v.getId());
                                Toast.makeText(getApplicationContext(),"If ID is "+id,2000).show();                         

                                btn.setText(String.valueOf(arr[id]));
                                btn.setEnabled(false);
                                TableRow tr = new TableRow(MainActivity.this);
                                int x=0;
                                int y=0;
                                while(x <rowcount+1)
                                {
                                    if (x % 9 == 0) {
                                      tr = new TableRow(MainActivity.this);                                       
                                      table.addView(tr);
                                    }
                                    Button btn1 = new Button(MainActivity.this);
                                    btn1.setText("");
                                    btn1.setOnClickListener(this);
                                    btn1.setId(x);
                                    tr.addView(btn1);   
                                    x++;                                
                                }
                        }
                        else
                        {

                            EditText et2=(EditText)findViewById(R.id.wordtxt);
                            String a2=et2.getText().toString(); 
                            char[] arr2=a2.toCharArray();                               
                                    int min = 0;
                                    int max = rowcount-1;       
                                    Random r = new Random();
                                    int i1 = r.nextInt(max - min + 1) + min;
                                    int id=(v.getId());
                                    if(id==i1)
                                    {

                                            Button tx = (Button) findViewById(i1);
                                            Button(MainActivity.this);
                                            tx.setText(String.valueOf(arr[i1]));

                                            tx.setEnabled(false);
                                    }

                                    TableRow tr = new TableRow(MainActivity.this);
                                            int x=0;
                                            int y=0;
                                            while(x <rowcount+1)
                                            {                                                       
                                                if (x % 9 == 0) {
                                                  tr = new TableRow(MainActivity.this);                                                   
                                                  table.addView(tr);                                                  
                                                }

                                                Button btn1 = new Button(MainActivity.this);
                                                btn1.setText("");                                                   btn1.setOnClickListener(this);
                                                btn1.setId(x);
                                                tr.addView(btn1);   
                                                x++;                                
                                            }
                        }
                    }


                    }
                });


                table.setShrinkAllColumns(true);

        }
    });


    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment())
                .commit();
    }
}


@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;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        return rootView;
    }
}
公共类MainActivity扩展了ActionBarActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
按钮按钮=(按钮)findViewById(R.id.button1);
最终EditText et=(EditText)findViewById(R.id.wordtxt);
最后一个字符串a=et.getText().toString();
最终字符[]arr=a.toCharArray();
//捕获按钮点击
setOnClickListener(新的OnClickListener(){
公共void onClick(视图参数){
//隐藏键盘
InputMethodManager inputManager=(InputMethodManager)
getSystemService(getApplicationContext().INPUT\u方法\u服务);
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE(不总是);
最终TableLayout table=(TableLayout)findviewbyd(R.id.tbl);
//烤面包机
int wordCount=et.getText().length();
makeText(getApplicationContext(),“字数为”+wordCount,4000).show();
int k=0;
最终表格tr;
tr=新表行(MainActivity.this);
表1.addView(tr);
最终按钮btn;
btn=新建按钮(MainActivity.this);
btn.setText(“”);
btn.setId(k);
tr.addView(btn);
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
EditText et=(EditText)findViewById(R.id.wordtxt);
字符串a=et.getText().toString();
char[]arr=a.toCharArray();
int rowcount=table.getChildCount();

if(rowcount)请显示一些代码。@Udi ldan,你能为我提供任何解决方案吗?你能显示完整的活动吗?@Udi Idan,我已经发布了完整的活动。请努力格式化你的代码,删除多余的空行,正确缩进块,删除导入(我们不需要它们,我们可以猜它们是什么)。至于您的错误,不要使用final,因为您使用的是错误的。不要在任何地方初始化变量。使用这些练习练习java,并阅读一本面向java初学者的书。很抱歉,如果您不先学习java语言一点,您将无法继续前进。我们无法纠正所有这些错误谢谢你。