PDA

View Full Version : مشکل در array



amint70
سه شنبه 03 آذر 1394, 03:48 صبح
سلام
من تازه کارم
یه برنامه نوشتم که توش از array استفاده کردم و یه جا نیاز دارم که شماره array رو بگیرم ممنون میشم کمکم کنید
توی برنامم با array ها یه تعداد EditText میسازه که میخوام وقتی مثلا رو edittext سوم کلیک شد کد دو رو بهم ده

msroid
سه شنبه 03 آذر 1394, 08:42 صبح
سلام

من متوجه نشدم. اون قسمتی که آرایه ساختی کدشو بذار.

amint70
سه شنبه 03 آذر 1394, 17: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, 21: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, 20:37 عصر
اقا خیلی زحمت کشیدی دستت درد نکنه من فقط کپی پیست کزدم نمیدونم چرا بهم ریخت شرمنده تو زحمت افتادین

ولی مشکلو حل کردم edittext رو به textview تبدیل کردم مشکل برنامه حل شد ولی بازم ممنون تو زحمت افتادین

روناک72
چهارشنبه 02 دی 1394, 10:05 صبح
با سلام و احترام

روناک72
پنج شنبه 03 دی 1394, 11:36 صبح
ا سلام و احترام
ب