小编fab*_*bio的帖子

ListFragment和onActivityCreated调用了两次

我有一个listFragment这是我的onActivityCreated:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        utenti=savedInstanceState.getParcelableArrayList("array");
    }else{
        threadutenti= (GetUtenti) new GetUtenti(this.getActivity(), utenti).execute();
    }
Run Code Online (Sandbox Code Playgroud)

当我旋转我的设备时,我有第一个savedInstanceState非null(我知道了)但是在使用onActivityCreated null调用onActivityCreated之后!为什么?我想在ListFragment上获取我的对象utenti而不是我的活动..

android android-fragments

5
推荐指数
1
解决办法
3395
查看次数

ListFragment - 如何添加菜单?

我有一个ListFragment,我必须添加一个菜单.这是我的代码:listuser_menu:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/any_option"
    android:title="In Context Menu" />
</menu>
Run Code Online (Sandbox Code Playgroud)

我的ListFragment:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    View mFooterView;
    // We need to use a different list item layout for devices older than Honeycomb
    int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
    android.R.layout.simple_list_item_activated_1:android.R.layout.simple_list_item_1;
    if(getListAdapter()==null){
        // init adapter
        adapter=new UserArrayAdapter(getActivity(),
                MOBILE_OS);
    }
    else{
            adapter.notifyDataSetChanged(); 
        } 

    // set adapter
    registerForContextMenu(getListView());
    setListAdapter(adapter);

}
@Override
public void onCreateContextMenu(final ContextMenu menu, final View v,
final ContextMenuInfo menuInfo){
    menu.clear();
    super.onCreateContextMenu(menu, v, menuInfo);   
    final MenuInflater inflater = …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-listfragment

2
推荐指数
1
解决办法
4280
查看次数

AsyncTask和Toast不是在onPostExecute上创建的

我有一个AsyncTask类.当我有一个错误,我想看到一个祝酒词.这是我的AsynTask类:

private GetUtenti threadutenti;
threadutenti= (GetUtenti) new GetUtenti(this.getActivity()).execute();
Run Code Online (Sandbox Code Playgroud)

这是我的班级:

class GetUtenti extends AsyncTask<Void, Void, Void> {
    private Context context;
    private boolean errore = false; 
    private Database db;

    public GetUtenti(Context context){
        this.context=context;
    }
    @Override
    protected void onPostExecute(Void result) {
        db.disconnetti();
        if (errore) {
             Toast.makeText(context, "error!", Toast.LENGTH_SHORT)
              toast.show();
        }
        else{
            setListaUtenti();
        }
        bProgresso.dismiss();           
    }
    @Override
    protected void onPreExecute() {
        db = new Database(.....);
    }
    @Override
    protected Void doInBackground(Void... params) {
        db.connetti();
        if(!db.isConnesso()){           
            errore= true;               
        } else {
            utenti.clear();
            utenti = Utente.getUtenti(db);              
        } …
Run Code Online (Sandbox Code Playgroud)

android

2
推荐指数
1
解决办法
2242
查看次数

可能的过度绘制:根元素绘制我无法解析的背景

你好,我有这个简单的观点:

<?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:background="@drawable/lavagna_verticale"
     android:orientation="vertical" >	
     
      <TextView
          android:id="@+id/voto_lavagna"
          android:layout_width="235sp"
          android:layout_height="wrap_content"
          android:layout_centerHorizontal="true"
         	  android:layout_centerVertical="true"
          android:gravity="center"
          android:textColor="@color/bianco"
          android:textSize="30sp"
          android:textStyle="bold"/>	    	 
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我可以将图像显示到背景中,但需要进行 lint 检查:

Possible overdraw: Root element paints background @drawable/lavagna_verticale with a 
 theme that also paints a background (inferred theme is @android:style/Theme.Holo)
Run Code Online (Sandbox Code Playgroud)

我创建了一种新风格:

    <style name="SfondoLavagnaVerticale" parent="@style/Theme.AppCompat">
        <item name="android:background">@drawable/lavagna_verticale</item>
	</style>
Run Code Online (Sandbox Code Playgroud)

并改变我的看法:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:theme="@style/SfondoLavagnaVerticale"
     android:orientation="vertical" >	
  ..
  ....
  .....
Run Code Online (Sandbox Code Playgroud)

现在我没有 lint 错误,但我无法显示我的图像我能做什么?

android android-fragments android-view

1
推荐指数
1
解决办法
3302
查看次数