【问题标题】:cannot resolve method add(int , new tFragment()).commit() in android studion 1.0.1无法在 android studion 1.0.1 中解析方法 add(int, new tFragment()).commit()
【发布时间】:2015-03-05 03:05:39
【问题描述】:

我在 android studio 1.0.1 中处理片段。就像网络进程在主 UI 中做的不好一样,我将我的代码移到了另一个包含片段的类中。 但是后来发生的事情根本没有帮助我继续前进。我得到的错误是无法解析方法add(R.id.container, new com.sunshine.example.sunshine.app.Fragment).commit(); 下面是我的 MainActivity 类的代码 sn-p 但对于 Fragment 类来说一切都很好。

package com.sunshine.example.sunshine.app;
      import android.support.v7.app.ActionBarActivity;
      import android.support.v4.app.Fragment; 
      import android.os.Bundle;    
      import android.view.Menu; 
      import    android.view.MenuItem; 

      public class    MainActivity extends    ActionBarActivity {

      @Override    
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      if (savedInstanceState == null) {
          getSupportFragmentManager().beginTransaction().
                  add(R.id.container, new ForecastFragment()).commit();


      }    }

      @Override    public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;    }
      @Override    public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();

      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
          return true;
      }

      return super.onOptionsItemSelected(item);    }
      }

【问题讨论】:

  • 显示ForecastFragment

标签: android android-fragments


【解决方案1】:

编译时错误表明您的ForecastFragment 正在使用本机片段支持app.Fragment,但在您的活动中您正在使用支持库中的事务。您必须与导入保持一致。更改您的 ForecastFragment 以使其使用支持库中的片段

【讨论】:

  • 我想最清楚的答案!
【解决方案2】:

我不知道你在做什么,但看起来你有语法错误。

new com.sunshine.example.sunshine.app.Fragment*()* 

您应该在任何创建对象语句的末尾加上括号()

【讨论】:

  • 很抱歉我错过了 Fragment 的括号。它是 add(int, new Fragment()).Commit()
猜你喜欢
  • 2015-08-30
  • 2016-05-08
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多