আমি গঠিত একটি দৃশ্য আছে TableLayout, TableRow and TextView
। আমি এটি গ্রিডের মতো দেখতে চাই। আমার এই গ্রিডের উচ্চতা এবং প্রস্থ পাওয়া দরকার। পদ্ধতিগুলি getHeight()
এবং getWidth()
সর্বদা 0. ফিরে আসে যখন আমি গ্রিডকে গতিশীলভাবে ফর্ম্যাট করি এবং যখন আমি এক্সএমএল সংস্করণ ব্যবহার করি তখন এটি ঘটে।
কীভাবে দেখার জন্য মাত্রা পুনরুদ্ধার করবেন?
ফলাফলগুলি পরীক্ষা করতে আমি এখানে আমার পরীক্ষার প্রোগ্রামটি ডিবাগ-এ ব্যবহার করেছি:
import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TextView;
public class appwig extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maindemo); //<- includes the grid called "board"
int vh = 0;
int vw = 0;
//Test-1 used the xml layout (which is displayed on the screen):
TableLayout tl = (TableLayout) findViewById(R.id.board);
tl = (TableLayout) findViewById(R.id.board);
vh = tl.getHeight(); //<- getHeight returned 0, Why?
vw = tl.getWidth(); //<- getWidth returned 0, Why?
//Test-2 used a simple dynamically generated view:
TextView tv = new TextView(this);
tv.setHeight(20);
tv.setWidth(20);
vh = tv.getHeight(); //<- getHeight returned 0, Why?
vw = tv.getWidth(); //<- getWidth returned 0, Why?
} //eof method
} //eof class
getHeight()
এবং getWidth()
ক্রিয়াকলাপের জীবনচক্রের নিজের মতামতগুলি মাপতে বলার পরে, অন্য কথায়, এই ধরণের স্টাফটি করুন onResume()
এবং এটিই। আপনার কোনও প্রত্যাশা করা উচিত নয় যে এখনও অবিকৃত কোনও অবজেক্টের এর মাত্রাগুলি জানতে হবে, এটি সম্পূর্ণ কৌশল। নীচে প্রস্তাবিত যাদুটির প্রয়োজন নেই।
getHeight()/Width()
মধ্যে onResume()
উত্পাদ করা হয়নি> 0 মান আমার জন্য।