可以先看看这篇文章 http://ankyhe.iteye.com/blog/514908
看完了下面就是我要说的.
------------------------------------------------
"如何不用IB,则你的UIViewController实例拥有一个成员变量 .view ".
有了这个就好办了,在- (void)loadView {}方法中先定义一个UIView,然后付给你的controller(self.view = xxx).
这样,controller就有view了(app delegate中你也可以将这个view加到UIWindow中了).
当然这个view也可以是其他的view,如UIScrollView.
-----------------------------------------------------
其他的上面的那篇ankyhe的文章写的很清楚.
如果你想知道那些用IB做出来的效果,用code如何实现,请google 'nib2objc'
个人观点:
用不用IB,我觉得那个方便就用那个来.二者混用其实很爽.
已知包名和类名,如何判断这个activity是否在系统中存在呢?很简单,通过intent就行。
Intent intent = new Intent(); intent.setClassName("包名", "类名"); if(getPackageManager().resolveActivity(intent, 0) == null) { //说明系统中不存在这个activity }
Intent intent = new Intent();
intent.setClassName("包名", "类名");
intent.resolveActivity(getPackageManager()) 得到的都是“ComponentInfo{包名/类名}"
不管存不存在都不为null
Intent intent = new Intent();
intent.setClassName("包名", "类名");
intent.resolveActivity(getPackageManager()) 得到的都是“ComponentInfo{包名/类名}"
不管存不存在都不为null
不是的,不存在的话,会返回null的
结果
if(intent.resolveActivity(getPackageManager()) == null) {
}
里的语句是没出现。
倒是
if(intent.resolveActivity(getPackageManager()) != null) {
}
里的语句能打印出。
不知怎么回事,请教下。
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent i=new Intent();
i.setClassName("aa", "bb");
if(i.resolveActivity(getPackageManager()) == null) {
System.out.println("not exist");
}
if(i.resolveActivity(getPackageManager()) != null) {
System.out.println("exist");
}
}
}
这样的结果会打印出exist。
我正需要判断这个,你试成功了,给我个回复。
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent i=new Intent();
i.setClassName("aa", "bb");
if(i.resolveActivity(getPackageManager()) == null) {
System.out.println("not exist");
}
if(i.resolveActivity(getPackageManager()) != null) {
System.out.println("exist");
}
}
}
这样的结果会打印出exist。
我正需要判断这个,你试成功了,给我个回复。
不好意思,是我的失误,已经纠正了。感谢hsx9566!
ListView list = (ListView) findViewById(R.id.list);
adapter = new MyAdapter(this,R.layout.main,
R.id.row_text,
new String[]{"Uno", "Dos", "Tres"} );
list.setAdapter(adapter);
//Custom Adapter class
private class MyAdapter extends ArrayAdapter<String>{
String[] mStrings;
LayoutInflater mInflater;
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
mStrings = strings;
mInflater = (LayoutInflater) FirstAct.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = mInflater.inflate(R.layout.main,null, false);
TextView text = (TextView) view.findViewById(R.id.row_text);
text.setText(mStrings[position]);
Spannable str = (Spannable) text.getText();
str.setSpan(new StyleSpan(Typeface.BOLD), 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return view;
}
}