दिलचस्प पोस्ट
फ़ंक्शन में एक सबफ़ंक्शन के साथ काम क्यों नहीं करता? सी / सी ++ में एक DLL संकलित करें, फिर उसे किसी अन्य प्रोग्राम से कॉल करें मोंगोज़ _id और स्ट्रिंग्स की तुलना करना क्या SqlCommand.Dispose कनेक्शन बंद करें? PostgreSQL में एक अस्थायी फ़ंक्शन कैसे बनाएं? Iframe से अभिमुख URL को एक्सेस करें वर्डप्रेस – कस्टम फ़ील्ड वैल्यू बनाने के लिए क्लिक करें ताकि उन्हें बाद में पुनर्प्राप्त कर सकें कंसोल परिणामों पर जावास्क्रिप्ट चर घोषणा क्यों "अपरिभाषित" मुद्रित किया जा रहा है? एक सदस्य चर के एनोटेशन कैसे प्राप्त करें? क्या रेंज लूप के लिए पायथन को लागू करने के लिए संभव है जिसमें इटरेटर वैरिएबल नहीं है? उल्का डॉक्स में संदेश-गिनती का उदाहरण कैसे काम करता है? जेएसपी / वेब-एनएफ़ रिटर्न "HTTP स्थिति 404 अनुरोधित संसाधन उपलब्ध नहीं है" अनिर्धारित प्रतीकों "के लिए vtable …" और "प्रकार के लिए …" … सरल कस्टम ईवेंट बीओएम के बिना यूटीएफ -8 में एक फाइल लिखने के लिए PowerShell का उपयोग करना

एंड्रॉइड तालिका के अंदर फोकसनीय पंक्ति

मेरे पास xml में एक ScrollView है जिसमें एक TableLayout शामिल है। मेरा प्रश्न यह है कि क्या हर बार जब मैं उस पर क्लिक करता हूं तब फ़ोकसॉयल पंक्ति हो सकती है यहां मेरा एक्सएमएल कोड है:

<ScrollView android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TableLayout android:id="@+id/table2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableRow> <RelativeLayout android:id="@+id/rowlayout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:background="@drawable/rowbackground2" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon_code_contact" android:padding="7dip" android:layout_alignParentLeft="true" /> <TextView android:id="@+id/contacts" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="Contacts" android:textColor="#000" android:textSize="18dip" android:layout_toRightOf="@id/icon" android:paddingTop="10dip" /> </RelativeLayout> </TableRow> <TableRow> <Button android:id="@+id/contacts_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/contact_button" /> </TableRow> 

मैंने पहले ही "focusable =" true "" और "focusableInTouchMode =" सच "" की कोशिश की है लेकिन कुछ भी नहीं हुआ ..

अग्रिम में धन्यवाद

Solutions Collecting From Web of "एंड्रॉइड तालिका के अंदर फोकसनीय पंक्ति"

यदि आप पूछते हैं कि टेबल बनाने के लिए सूची दृश्य की तरह व्यवहार करने के लिए, मैंने निम्न किया है:

Xml-file में, जो मेरी गतिविधि के लिए लेआउट को परिभाषित करता है, मैंने तालिका को परिभाषित किया है:

 <ScrollView android:layout_height="wrap_content" android:layout_width="fill_parent" > <TableLayout android:id="@+id/my_table" android:layout_height="fill_parent" android:layout_width="fill_parent" android:stretchColumns="1" android:shrinkColumns="1"/> </ScrollView> 

फिर, मैंने तालिका पंक्ति लेआउट के साथ अलग table_row_item.xml फाइल लिखी है:

 <?xml version="1.0" encoding="UTF-8"?> <TableRow xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:focusable="true" android:focusableInTouchMode="false" android:clickable="true" android:background="@android:drawable/list_selector_background"> <TextView android:id="@+id/cell_1" ... /> ... <TextView android:id="@+id/cell_N" ... /> </TableRow> 

गतिविधि में मैंने अपनी तालिका में पंक्ति जोड़ने के लिए प्रक्रिया की घोषणा की:

 private void addTableRow() { final TableLayout table = (TableLayout) findViewById(R.id.my_table); final TableRow tr = (TableRow) getLayoutInflater().inflate(R.layout.table_row_item, null); TextView tv; // Fill out our cells tv = (TextView) tr.findViewById(R.id.cell_1); tv.setText(...); ... tv = (TextView) tr.findViewById(R.id.cell_N); tv.setText(...); table.addView(tr); // Draw separator tv = new TextView(this); tv.setBackgroundColor(Color.parseColor("#80808080")); tv.setHeight(/*height of separaor line. 2dip will be enough*/); table.addView(tv); // If you use context menu it should be registered for each table row registerForContextMenu(tr); } 

आप एक GridView का उपयोग कर सकते हैं और अपनी पंक्ति के रूप में एक रेखीय लयआउट (क्षैतिज) परिभाषित कर सकते हैं। इसे एक मार्गदर्शिका के रूप में प्रयोग करें: http://www.learn2crack.com/2014/01/android-custom-gridview.html

बेशक। पंक्ति में onClick संपत्ति है जहां आप अपने onclick विधि का नाम निर्दिष्ट कर सकते हैं।

दूसरी तरफ इस पंक्ति को अपने xml में आईडी – नाम देना है तो आप इसे कोड से कॉल कर सकते हैं और addClick ईवेंट जोड़ सकते हैं।

यह कोड आपके चुनिंदा चित्रमय पृष्ठभूमि के बीच फ्लिप करेगा (मुझे लगता है आप कोई पृष्ठभूमि नहीं के लिए रिक्त का उपयोग कर सकते हैं) और डिफ़ॉल्ट एंड्रॉइड "चयनित" पृष्ठभूमि

  row.setClickable(true); row.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { final int action = event.getAction(); Log.d("Touched!", "" + action); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_OUTSIDE: // case MotionEvent.ACTION_MOVE: v.setBackgroundResource(R.drawable.border_bottom); v.invalidate(); break; default: v .setBackgroundResource(android.R.drawable.list_selector_background); v.invalidate(); } return false; } }); 

यदि आप एक तालिका में डेटा प्रदर्शित करने के लिए एक साधारण और प्रभावी समाधान की तलाश कर रहे हैं, तो यह TableView नौकरी करेगा।

SortableTableView उदाहरण