In this paper, a novel self-adaptive fuzzy learning (SAFL) system is proposed for streaming data prediction. SAFL self-learns from data streams a predictive model composed of a set of prototype-based fuzzy rules, with each of which representing a certain local data distribution, and continuously self-evolves to follow the changing data patterns in non-stationary environments. Unlike conventional evolving fuzzy systems, both the fuzzy inference and consequent parameter learning schemes utilised by SAFL are simplified so that only a small number of selected fuzzy rules within the rule base are involved in system output generation and parameter updating during a learning cycle. Such simplification not only significantly reduces the system's computational complexity but also increases its prediction precision. In addition, both theoretical and empirical investigations guarantee the stability of the resulting SAFL. Comparative experimental studies on a wide variety of benchmark and real-world problems demonstrate that SAFL is able to learn from streaming data in a highly efficient manner and to make predictions with a great accuracy, revealing the effectiveness and validity of the proposed approach.