1
TableLayout
에 데이터베이스를 통해 이력서가 채워진 행이 있습니다. 각 행에서 OnLongClickListener()
을 ListView
과 다른 .xml
에서 내 activity_product.xml
으로 표시하려고합니다. 여기 내 activity_product.xml
에서 코드의 관련 부분입니다 :목록보기가 팽창 할 때 표시되지 않습니다.
<TableLayout
android:id="@+id/productsTable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="3dip"
android:paddingRight="3dip"
android:shrinkColumns="1"
android:weightSum="1"
android:stretchColumns="*">
</TableLayout>
는 그리고 여기 ListView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/edirOrDeleteMenu"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</ListView>
</LinearLayout>
내 edit_or_delete_menu.xml
입니다 그리고 여기가 행과 시도를 채우는 데 사용하는 코드의 관련 부분입니다 보여 ListView
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_product);
new LoadProductsTableContent().execute();
}
private class LoadProductsTableContent extends AsyncTask<Void, Void, Integer> {
private TableLayout productsTable = (TableLayout) findViewById(R.id.productsTable);
private TableRow labelRow = (TableRow) findViewById(R.id.productLabelsRow);
@Override
protected Integer doInBackground(Void... params)
{
int result=1;
// Usado para acessarmos as views da thread pai
// http://stackoverflow.com/questions/5161951/android-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-vi
runOnUiThread(new Runnable() {
@Override
public void run() {
// Create a new row to be added
TableRow tr = new TableRow(ProductActivity.this);
/* CODE TO SET ROW PROPERTIES AND CONTENT */
// Row click listener
tr.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
onClickRow(v);
return false;
}
});
// Add row to TableLayout
productsTable.addView(tr);
}
});
return result;
}
private void onClickRow(View v) {
String editText = getResources().getString(R.string.menuEditOption);
String deleteText = getResources().getString(R.string.menuDeleteOption);
// Inflating to display ListView
LayoutInflater inflater = (LayoutInflater) ProductActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.edir_or_delete_menu, null);
edirOrDeleteMenu = (ListView) v.findViewById(R.id.edirOrDeleteMenu);
String[] options = new String[]{editText, deleteText};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ProductActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, options);
edirOrDeleteMenu.setAdapter(adapter);
}
코드는 컴파일하고이 코드를 실행할 때 오류가 발생하지 않습니다,하지만 내 문양 tView가 표시되지 않습니다. 내가 여기서 무엇을 놓치고 있니?
미리 감사드립니다. 나는이 문제를 추측