80,349
社区成员
发帖
与我相关
我的任务
分享
package com.qiulong.myfragmenttest;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends FragmentActivity implements OnItemClickListener{
private View view;
private ListView listview;
private List<String> list;
private FragmentTransaction transion;
private FragmentItemInfo info;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
view = (View)findViewById(R.id.activity_lin_title);
listview = (ListView)view.findViewById(R.id.activity_listview);
listview.setAdapter(new MyAdapter(getData()));
listview.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
String str = list.get(position);
transion = this.getSupportFragmentManager().beginTransaction();
info = new FragmentItemInfo(str);
transion.add(R.id.activity_lin_title, info);
//transion.replace(R.id.activity_lin_title, info);
transion.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);//设置动画效果
transion.commit();
}
private List<String> getData(){
list = new ArrayList<String>();
list.add("曲目1");
list.add("曲目2");
list.add("曲目3");
list.add("曲目4");
list.add("曲目5");
list.add("曲目6");
list.add("曲目7");
list.add("曲目8");
list.add("曲目9");
list.add("曲目10");
list.add("曲目11");
list.add("曲目12");
return list;
}
class MyAdapter extends BaseAdapter{
List<String> list;
public MyAdapter(List<String> list) {
super();
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView text = new TextView(MainActivity.this);
text.setText(list.get(position));
text.setTextSize(18);
text.setPadding(20, 10, 0, 20);
return text;
}
}
}
下面是我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
android:id="@+id/activity_lin_title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/activity_lin_down"
android:name="com.qiulong.myfragmenttest.FragmentTitleCotent"/>
<fragment
android:id="@+id/activity_lin_down"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:name="com.qiulong.myfragmenttest.FragmentDownMenu"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
FragmentTransaction t = this.fragmentManager.beginTransaction();
t.replace(R.id.container, fragment);
t.addToBackStack(null); //这个要加上,才能点击back按钮回到上一个UI界面Fragment
t.commit();
package com.qiulong.myfragmenttest;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
@SuppressLint("ValidFragment")
public class FragmentItemInfo extends Fragment {
private String value;
public FragmentItemInfo(String value) {
super();
this.value = value;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_item_info, container, false);
TextView text = (TextView)view.findViewById(R.id.text);
text.setText(value);
view.findViewById(R.id.info_return).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
getFragmentManager().popBackStack();
Log.e("===>", "点击");
}
});
return view;
}
}