मैं प्रोग्रामेटिक रूप से विशेषता को AlignParentRight को RelativeLayout में बटन पर सेट करने का प्रयास करता हूं लेकिन प्रोग्राम NullPointerException के साथ क्रैश हो जाता है। यहां मेरा कोड:प्रोग्रामेटिक रूप से सेट विशेषता AlignParentRightRativeout में बटन पर काम नहीं कर रहा है?
//add horizontal realative layout
RelativeLayout layouth = new RelativeLayout(this);
layouth.setLayoutParams(new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
//add textview for label
TextView t = new TextView(this);
t.setText(d.getName());
t.setTextSize(25);
t.setId(2);
t.setLayoutParams(new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
//add button
Button b = new Button(this);
b.setText(d.getName());
RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)b.getLayoutParams();
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layoutParams.addRule(RelativeLayout.LEFT_OF, 2);
b.setLayoutParams(layoutParams);
//add textview and button to horizontal linear layout
layouth.addView(t);
layouth.addView(b);
//add horizontal linear layout to vertical linear layout
layoutv = (LinearLayout) findViewById(R.id.ProjectViewLinearID);
layoutv.addView(layouth);
मेरी समस्या कहां है? कार्यक्रम लाइन में त्रुटि होती है समाधान के साथ layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
अद्यतन:
इस कोड मेरे लिए काम करता है:
// Creating a new RelativeLayout
RelativeLayout layouth = new RelativeLayout(this);
// Defining the RelativeLayout layout parameters.
// In this case I want to fill its parent
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
// Creating a new TextView
TextView tv = new TextView(this);
tv.setText(d.getName());
tv.setTextSize(25);
//add button
Button b = new Button(this);
b.setText(d.getName());
// Defining the layout parameters of the TextView
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
// Setting the parameters on the TextView
tv.setLayoutParams(lp);
b.setLayoutParams(lp);
// Adding the TextView to the RelativeLayout as a child
layouth.addView(tv);
layouth.addView(b);
त्रुटि आप पहले से ही मनाया आप एक 'ClassCastException' मिलना चाहिए अलावा अगले:' 'layouth' LinearLayout.LayoutParams' की जरूरत है के बाद से परम माता पिता के लिए कर रहे हैं लेआउट जो 'LinearLayout' (' layoutv') – zapl
lp.addRule (RelativeLayout.ALIGN_PARENT_RIGHT) है; –