9
मैं एंड्रॉइड के लिए नया हूं और मैं एक टेबलरो जोड़ने की कोशिश कर रहा हूं, जिसे मैंने पहले ही एक्सएमएल के साथ बनाया है, प्रोग्रामलेटिक रूप से एक टेबललेआउट में। मुझे बल बंद हो रहा है, ज्यादातर NullPointerExcpetions हैं।xml से tableLayout से TableRow को प्रोग्रामेटिक रूप से कैसे जोड़ें?
यहाँ मेरी जावा वर्ग
public class DayFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.subjects_list, container, false);
TableLayout tl = (TableLayout) view.findViewById(R.id.tl);
TableRow tr = (TableRow) view.findViewById(R.id.tr_row);
tl.addView(tr); //not working, obviously im missing something
//xml parsing stuff
return view;
}
}
है यह TableLayout के साथ अपने लेआउट है:
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/horizontalScrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="5dp" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tl"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<include
android:id="@+id/header"
layout="@layout/table_header" />
<include android:id="@+id/h_divider"
layout="@layout/horizontal_divider"/>
</TableLayout>
</ScrollView>
</HorizontalScrollView>
और TableRow:
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tr_row"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_hour"
android:layout_weight="1"
android:gravity="center"
android:padding="8dp"
android:textSize="15sp"
android:textStyle="bold" />
<View
android:layout_weight="1"
android:background="@drawable/vertical_cell_divider" />
<TextView
android:id="@+id/tv_subject"
android:layout_weight="1"
android:gravity="left"
android:padding="8dp"
android:textSize="18sp" />
<View
android:layout_weight="1"
android:background="@drawable/vertical_cell_divider" />
<TextView
android:id="@+id/tv_start"
android:layout_weight="1"
android:gravity="left"
android:padding="8dp"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_bar"
android:layout_weight="1"
android:gravity="left"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_end"
android:layout_weight="1"
android:gravity="left"
android:padding="8dp"
android:textSize="18sp" />
</TableRow>
मैं इसे प्राप्त करने के लिए अलग अलग तरीके के बहुत सारे करने की कोशिश की लेकिन अभी भी कुछ नहीं।
हाँ! मेरी समस्या को हल करने के लिए बहुत बहुत धन्यवाद। क्या आप मुझे यह भी बता सकते हैं कि एक ही दृश्य को एक से अधिक बार कैसे जोड़ना है? बच्चे के पास पहले से ही माता-पिता हैं इसलिए मैं इसे tl.addView (tr) डालकर और अधिक जोड़ नहीं सकता; – Chris95X8
लूप के लिए कोड दोहराएं। लेकिन ध्यान रखें कि आपने लूप के लिए दोहराने से पहले दृश्य सरणी बनाई है। फिर सरणी में प्रत्येक दृश्य के लिए table_row_layout फुलाएं और इसे तालिका लेआउट में जोड़ें। – TNR
मैं सिर्फ इस तरह यह किया है और यह काम किया के लिए (int i = 0; i <7; i ++) { \t \t \t \t \t देखें टीआर = inflater.inflate (R.layout.subject_row, अशक्त, गलत) ; \t \t tl.addView (tr); \t \t \t \t} – Chris95X8