View Full Version : مشکل در array
  
amint70
سه شنبه 03 آذر 1394, 04:48 صبح
سلام 
من تازه کارم
یه برنامه نوشتم که توش از array استفاده کردم و یه جا نیاز دارم که شماره array  رو بگیرم ممنون میشم کمکم کنید
توی برنامم با array ها یه تعداد EditText میسازه که میخوام وقتی مثلا رو edittext سوم کلیک شد کد دو رو بهم ده
msroid
سه شنبه 03 آذر 1394, 09:42 صبح
سلام
من متوجه نشدم. اون قسمتی که آرایه ساختی کدشو بذار.
amint70
سه شنبه 03 آذر 1394, 18:03 عصر
سلام  من متوجه نشدم. اون قسمتی که آرایه ساختی کدشو بذار.    private void BuildTable(final int rows, final int cols) {           final EditText[][] mm = new EditText[rows][cols];                      for (int i = 0; i < rows; i++) {              TableRow row = new TableRow(this);             row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,                     LayoutParams.WRAP_CONTENT));              // inner for loop             for (int j = 0; j < cols; j++) {                   mm[i][j] = new EditText(this) {                     @Override                     protected void onDraw(Canvas canva) {                         super.onDraw(canva);                         Rect rect = new Rect();                         Paint paint = new Paint();                         paint.setStyle(Paint.Style.STROKE);                          paint.setColor(Color.BLACK);                          paint.setStrokeWidth(3);                          getLocalVisibleRect(rect);                          canva.drawRect(rect, paint);                       }                  };                     // mm[i][j].getText();                     mm[i][j].setHint("   r" + (i) + " c" + (j));                     mm[i][j].setTextSize(18);                     mm[i][j].setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);                     mm[i][j].setWidth(150);                       row.addView(mm[i][j]);                 }                 table_layout.addView(row);             }
msroid
سه شنبه 03 آذر 1394, 22:07 عصر
خب حالا شد یه چیزی. اما کداتو درست بذار کلی طول کشید تا گدگشایی کردم...!!
کد کامل کلاس رو میذارم:
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.Toast;
 
public class TestTable extends Activity {
    TableLayout table_layout;
    private EditText[][] mm;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_table);
        table_layout = (TableLayout) findViewById(R.id.table_layout);
        BuildTable(2, 2);
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                final int finalI = i;
                final int finalJ = j;
                mm[i][j].setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Toast.makeText(TestTable.this, "You Clicked (" + finalI + "," + finalJ + ")", Toast.LENGTH_SHORT).show();
                    }
                });
            }
        }
    }
 
    private void BuildTable(final int rows, final int cols) {
        mm = new EditText[rows][cols];
        for (int i = 0; i < rows; i++) {
            TableRow row = new TableRow(this);
            row.setLayoutParams(new TableLayout.LayoutParams(LinearLayout.LayoutParams .MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
            // inner for loop
            for (int j = 0; j < cols; j++) {
                mm[i][j] = new EditText(this) {
                    @Override
                    protected void onDraw(Canvas canva) {
                        super.onDraw(canva);
                        Rect rect = new Rect();
                        Paint paint = new Paint();
                        paint.setStyle(Paint.Style.STROKE);
                        paint.setColor(Color.BLACK);
                        paint.setStrokeWidth(3);
                        getLocalVisibleRect(rect);
                        canva.drawRect(rect, paint);
                    }
                };
                mm[i][j].getText();
                mm[i][j].setHint(" r" + (i) + " c" + (j));
                mm[i][j].setTextSize(18);
                mm[i][j].setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
                mm[i][j].setWidth(150);
                row.addView(mm[i][j]);
            }
            table_layout.addView(row);
        }
    }
}
و اینم کد layout:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:id="@+id/table_layout">
 
</TableLayout>
amint70
چهارشنبه 04 آذر 1394, 21:37 عصر
اقا خیلی زحمت کشیدی دستت درد نکنه من فقط کپی پیست کزدم نمیدونم چرا بهم ریخت شرمنده تو زحمت افتادین
ولی مشکلو حل کردم edittext رو به textview تبدیل کردم مشکل برنامه حل شد ولی بازم ممنون تو زحمت افتادین
روناک72
چهارشنبه 02 دی 1394, 11:05 صبح
با سلام و احترام
روناک72
پنج شنبه 03 دی 1394, 12:36 عصر
ا سلام و احترام
ب
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.