我是Android编程的新手,想要了解如何创建与点击相关的新页面的语法视图!
public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateListView(); //First method which fills in my list
registerClickCallBack(); //Method which reacts when the list is clicked
}
private void registerClickCallBack()
{
ListView list = (ListView)findViewById(R.id.listView1);
list.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Intent intent = new Intent(MainActivity.this,nextActivity.class);
startActivity(intent);
nextActivity my = new nextActivity();
}
});
}
private void populateListView()
{
String[] myItems = {"I"," II","III","IV" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.da_item,myItems);
ListView list = (ListView)findViewById(R.id.listView1);
list.setAdapter(adapter);
}
}
当我点击列表中的元素时,如何创建新的xml页面? 我该如何编写语法?
修改
我有一些额外的问题。
每个新活动都是用普通班写的吗?那为什么我不能在那里看到onCreate方法呢?
新的Activity XML文件存储在哪里?在布局?我怎么知道哪一个属于谁?
答案 0 :(得分:0)
如果点击列表中的元素,则会启动新活动:
list.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this,nextActivity.class);
startActivity(intent);
}
});
如果要根据单击的项目打开另一个页面,可以使用onItemClick()提供的id或位置;
然后在新活动的onCreate()方法中使用setContentView来显示新的xml。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
}
修改强>
您可以定义这样的活动:
public class NextActivity extends Activity { }
然后,您可以覆盖活动的onCreate方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// What you want to do when the activity is created.
}
您将新的XML文件添加到layouts文件夹中。
XML文件可以由多个活动使用。在活动的onCreate方法中,添加setContentView(R.layout.activity_next);
以打开名为activity_next的XML文件。这当然可以是任何名称。
您可能想阅读一些教程。
http://developer.android.com/training/basics/firstapp/starting-activity.html