您好
Names.java
public class Names implements Serializable{
private String Name;
public void setName(String name){
this.Name=name;
}
public String getName(){
return Name;
}
}
NewProfile.java
public class NewProfile extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.new_profile);
Bundle b=getIntent().getExtras();
TextView tv=(TextView) findViewById(R.id.NewTextView);
}
}
activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
</ListView>
</LinearLayout>
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="TextView"
android:textStyle="italic|bold" />
</LinearLayout>
new_profile.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/NewTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="TextView"
android:textSize="18dp"
android:textStyle="bold" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends Activity implements OnItemClickListener {
ArrayList<Names> AL=new ArrayList<Names>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Names obj1=new Names();
obj1.setName("Sam");
AL.add(obj1);
Names obj2=new Names();
obj2.setName("carl");
AL.add(obj2);
ListView LV=(ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.list_item,R.id.textView1,AL);
LV.setAdapter(adapter);
LV.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
// TODO Auto-generated method stub
Bundle B=new Bundle();
TextView TV=(TextView) findViewById(R.id.textView1);
if(position==0){
}
}
}
MainActivity类不完整.....我正在尝试填写本课程的各个部分
anyIdeas,
感谢
答案 0 :(得分:0)
您可以使用以下代码开始新活动..根据您的要求编写您的逻辑
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
// TODO Auto-generated method stub
Intent intent=new Intent(CURRENT_ACTIVITY.this,NEW_ACTIVITY.class);
startActivity(intent);
}
答案 1 :(得分:0)
您已将ListView LV
设置为setOnItemClickListener(this)
,您应继续此操作。
setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parentAdapter, View view,
int position, long id) {
Intent i = new Intent(getActivity(), YourNextActivity.class);
startActivity(i);
}
});
答案 2 :(得分:0)
您可以在ListView的对象上注册setOnItemClickListener事件。通过这种方式,您可以开始新的活动:
listView.setOnItemClickListener(new OnItemClickListener() {
Intent intent = new Intent(ThisActivity.this, That_Activity.class);
startActivity(intent);
}
} );
如果您想将某些数据传递给另一个可以使用的活动。
listView.setOnItemClickListener(new OnItemClickListener() {
Intent intent = new Intent(ThisActivity.this, That_Activity.class);
//If you want to pass some data use.
Bundle extras = new Bundle();
extras.putInt("KeyGoesHere", intValue);
intent.putExtras(extras);
startActivity(intent);
}
} );
答案 3 :(得分:0)
活动有方法
startActivity(Intent)
startActivityForResult(Intent, requestCode)
顾名思义,第二个是使用的,如果你想获得某种数据回到你的第一个活动。
现在在 onClick()方法中
Intent i = new Intent(this, NewProfile.class);
startActivityForResult(i, REQUEST_SOMETHING);
如果您在第二项活动中需要这些信息,您可以在您的意图中打包信息:
int important = 10;
i.putExtra(EXTRA_IMPORTANT_INT, important);
要在 NewProfile活动中获取此信息,您需要获取意图:(例如在您的onCreate()中)
int important = getIntent().getIntExtra(EXTRA_IMPORTANT_INT, 0);
EXTRA_IMPORTAN_INT是一个String常量,REQUEST_SOMETHING是一个int常量,它应该是唯一的。
如果您使用了第二种方法并想要使用结果退出已启动的活动:
Intent data = new Intent();
data.putExtra(EXTRA_NEW_VALUE, something);
setResult(Activity.RESULT_OK, data);
finish();
在调用完成()后,将调用起始活动的 onActivityResult(...) 。