ปัญหา: ตอนที่ฉันเลือกแฟ้มบนพาธหรือชื่อของมันกำลังใกล้ชิดความสดมภ์ที่หายตัวไป
ที่ผังแป้นพิมพ์ name=แอพพลิเคชันแค่ตำแหน่ง TableLayout
เป็นคราวที่เยี่ยมที่ Activity
และรหัสของจาวาจะใช้ในการสร้าง`TableRows แล้วมุมมองที่จำเป็นหรอก
สิ่งที่ฉันกำลังพยายามจัสติสลีกออฟอเมริกา เป็นของผู้ใช้สามารถคลิกที่ปุ่มเป็น"เพิ่ม"ปุ่มเพื่อเลือกแฟ้มบนโทรศัพท์จะถูกเพิ่มเข้าเป็นเส้นทางและชื่อแฟ้มจะเป็น TableRow
ภายใน TableLayout
. คนแรกคอลัมน์มีปุ่ม(-)เพื่อ optionally ลบคนที่เพิ่งถูกเพิ่มเข้า TableRow,และคนที่สองคอลัมน์บรรจุพาธและชื่อแฟ้ม.
สิ่งที่ฉันต้องพยายาม: ฉันรู้สึกว่าฉันพยายามทุกอย่าง programmatically ปรับตัวต่างๆ LayoutParams
ก็แล้วแต่ Button
หรือ TextView
ความกว้างและความสูงของพารามิเตอร์จะตั้งค่าความกว้างคงที่...อย่างน้อยก็สำหรับปุ่ม แต่ไม่มีอะไรเหมือนไปทำงานแล้ว ตอนที่ฉันค้นหาที่นี่เพื่อตั้งโปรแกรมตัวอย่างเช่น,มันคือเสมองผังแป้นพิมพ์ name=แอพพลิเคชันรหัสไม่ใช่คนของจาวา.
ฉันยังคงเป็นการเรียนรู้ที่ Android แต่ฉันต้องมาติดอยู่ที่นี่และคิดว่าใครบางคนอาจจะสามารถประเด็นฉันในทิศทางที่ถูกต้อง ด้านล่างบางอย่างรูปภาพและรหัสโปรแกรมและสร้างค TableRows แล้วมุมมองภายในเจ้ากำลังจะบอกอะไร? รู้สึกโง่ฉันไม่สามารถหาคำตอบของเรื่องนี้
ก่อนที่การเพิ่ม
หลังจากเพิ่ม
รหัส วิธีการของภายใน singleton เรียนที่สร้าง Button
แล้ว TextView
มุมมองไปที่ TableRow
แล้ว TableLayout
. คนแรกวิธีการโทรศัพท์อีกสองซึ่งสร้างปุ่มโฆษณา TextView
public static TableRow setupFilesTableRow(Context context, TableLayout table, String fileID, String fileName, boolean header) {
TableRow row = new TableRow(context);
if(header) {
row.addView(setupFilesAddRowButton(context, table));
row.addView(addRowTextViewToTable(context, fileName, true));
}else{
row.addView(setupDeleteRowButton(context, table));
for(int r=1; r < 2; r++){
row.addView(addRowTextViewToTable(context, fileName, false));
row.setClickable(true);
}
}
return row;
}
public static Button setupDeleteRowButton(Context context, TableLayout table){
Button btnDelete = new Button(context);
TableRow.LayoutParams trLayoutParams = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.MATCH_PARENT);
trLayoutParams.setMargins(3,3,3,3);
btnDelete.setBackgroundColor(Color.WHITE);
btnDelete.setLayoutParams(trLayoutParams);
btnDelete.setText("-");
btnDelete.setTypeface(Typeface.DEFAULT,Typeface.BOLD);
btnDelete.setGravity(Gravity.CENTER);
btnDelete.setPadding(5,5,5,5);
btnDelete.setOnClickListener(v -> {
deleteTableRows(table);
});
return btnDelete;
}
public static TextView addRowTextViewToTable(Context context, String value, boolean bold){
TextView tv;
tv = new TextView(context);
TableRow.LayoutParams trLayoutParams = new TableRow.LayoutParams();
trLayoutParams.setMargins(3,3,3,3);
tv.setText(String.valueOf(value));
if(bold) tv.setTypeface(null, Typeface.BOLD);
tv.setLayoutParams(trLayoutParams);
tv.setTextSize(12);
tv.setGravity(Gravity.CENTER);
tv.setPadding(8,8,8,8);
tv.setBackgroundColor(Color.WHITE);
return tv;
}